如果用户点击特定的tabPanel
,是否可以执行某个操作?
例如,如果用户点击tabPanel("A", ...)
,则显示一个弹出窗口,其中包含信息You are viewing tab "A"
。
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$tabBox_id
将定位活动选项卡名称。请参阅此处:https://rstudio.github.io/shinydashboard/structure.html#tabbox。