【问题标题】:How to use tabPanel as input in R Shiny?如何在 R Shiny 中使用 tabPanel 作为输入?
【发布时间】:2014-06-08 05:40:23
【问题描述】:

如果用户点击特定的tabPanel,是否可以执行操作?

例如,如果用户点击tabPanel("A", ...),则会显示一个弹出窗口,上面写着You are viewing tab "A"

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    tabsetPanel() 将返回分配给活动tabPanel() 的值。如果您只想更新另一个输出,您可以执行以下操作:

    ui.R

    library(shiny)    
    
    shinyUI(basicPage( 
    
      textOutput("text"),
          tabsetPanel(id = "tabs",
              tabPanel("Tab A", value = "A", "This is Tab A content"),
              tabPanel("Tab B", value = "B", "Here's some content for tab B.")
      )
    
    ))
    

    服务器.R

    library(shiny)
    
    shinyServer(function(input, output) {
    
        output$text <- renderText({paste0("You are viewing tab \"", input$tabs, "\"")})
    
    })
    

    但是像创建弹出窗口这样更复杂的事情可能需要创建一个观察者和一些额外的自定义编码......

    【讨论】:

    • 示例不起作用...未定义值!你的意思是 input$tabs 而不是 values$tabValue?
    • 对不起,这是我的答案的先前版本遗留下来的。我已经更正了。
    • 非常感谢这个明确的答案。它可以帮助我解决问题。
    【解决方案2】:

    如果您使用闪亮的仪表板,input$tabBox_id 将找到活动选项卡名称。参考这里:https://rstudio.github.io/shinydashboard/structure.html#tabbox

    【讨论】:

      猜你喜欢
      • 2016-11-09
      • 2021-01-23
      • 2015-08-11
      • 2019-02-11
      • 2016-07-21
      • 2016-02-12
      • 2013-01-05
      • 2019-03-04
      • 1970-01-01
      相关资源
      最近更新 更多