1

以下のコードは、私がより大きなアプリで構築しているものの最小限の例であり、インが無効にされていない理由がわかりtextInputませoutput_module.Rん。誰かが助けてくれれば、とても感謝しています!

app.R

library(shiny)
library(shinyjs)

# Define UI
ui <- fluidPage(
    
    useShinyjs(),

    # Application title
    titlePanel("Demo"),

    # Sidebar 
    sidebarLayout(
        sidebarPanel(
            input_module_ui("input")
        ),

        mainPanel(
            output_module_ui("output")
        )
    )
)

# Define server logic 
server <- function(input, output, session) {
    
    callModule(input_module_server, "input")
    res <- callModule(input_module_server, "input")
    
    callModule(output_module_server, "output", res)
    
}

# Run the application 
shinyApp(ui = ui, server = server)

input_module.R

#Define ui
input_module_ui <- function(id) {
  ns <- NS(id)
  
  tagList(
    textInput(
      inputId = ns("input"),
      label = "Input:",
      value = "A"
      )
    )
}

#Define server logic 
input_module_server <- function(input, output, session) {
  
  #List of things to return for use in other modules
  return(input)
  
}

output_module.R

#Define ui
output_module_ui <- function(id){
  ns <- NS(id)

  tagList(
        textInput(inputId = ns("output"),
                     label = "Output:", 
                     value = ""
                  )
      )
}

#Define server logic 
output_module_server <-
  function(input,
           output,
           session,
           module_input) {

    observe({
      
      output <- module_input$input
      updateTextInput(session, "output", value = output)
      disable(id = session$ns("output"))
      
    })
  }
4

1 に答える 1