【问题标题】:R Shiny Link Multiple Inputs to Control 1 OutputR Shiny 链接多个输入以控制 1 个输出
【发布时间】:2021-03-30 03:41:14
【问题描述】:

我有一个闪亮的应用程序,我在其中多次显示相同的输出。我有两个输入,它们都需要控制相同的输出。在下面的示例中,输出是彼此的副本,并且必须保持这种状态。目前只有第一个输入做任何事情。我需要它们控制相同的输出并对彼此的变化做出反应。

ui <- function(request) {
    fluidPage(
        textInput("txt1", "Enter text1"),
        textInput("txt1", "Enter text2"),
        checkboxInput("caps", "Capitalize"),
        verbatimTextOutput("out1"),
        verbatimTextOutput("out2"),
        
    )
}
server <- function(input, output, session) {
    output$out2<- output$out1 <- renderText({
        if (input$caps)
            toupper(input$txt1)
        else
            input$txt1
        
    })
}

shinyApp(ui, server, enableBookmarking = "url")

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    您需要为输入提供唯一的 ID,但在您的代码中,两个 ID 都是 txt1。如果你改变这个,你可以使用正常的反应:

    library(shiny)
    
    ui <- function(request) {
      fluidPage(
        textInput("txt1", "Enter text1"),
        textInput("txt2", "Enter text2"),
        checkboxInput("caps", "Capitalize"),
        verbatimTextOutput("out1"),
        verbatimTextOutput("out2"),
        
      )
    }
    server <- function(input, output, session) {
      output$out2<- output$out1 <- renderText({
        if (input$caps)
          paste(toupper(input$txt1), toupper(input$txt2))
        else
          paste(input$txt1, input$txt2)
        
      })
    }
    
    shinyApp(ui, server, enableBookmarking = "url")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2014-12-06
      • 1970-01-01
      相关资源
      最近更新 更多