Reputation: 10156
Is it possible to perform an action if the user clicks into a particular tabPanel
?
For instance, if the user clicks into tabPanel("A", ...)
then display a popup saying You are viewing tab "A"
.
Upvotes: 38
Views: 24509
Reputation: 305
If you are using shiny dashboard, input$tabBox_id
will locate the active tab name. Refer to here: https://rstudio.github.io/shinydashboard/structure.html#tabbox
Upvotes: 6
Reputation: 1012
tabsetPanel()
will return the value assigned to the active tabPanel()
. If you just want to update another output you could do something like this:
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.")
)
))
server.R
library(shiny)
shinyServer(function(input, output) {
output$text <- renderText({paste0("You are viewing tab \"", input$tabs, "\"")})
})
but something more complicated like creating a popup would probably require making an observer and some additional custom coding...
Upvotes: 37