Dynamically hide/show a tabPanel — showTab
showTab(inputId, target, select = FALSE, session = getDefaultReactiveDomain()) hideTab(inputId, target, session = getDefaultReactiveDomain())
Arguments
inputId |
The |
|---|---|
target |
The |
select |
Should |
session |
The shiny session within which to call this function. |
Description
Dynamically hide or show a tabPanel() (or a
navbarMenu())from an existing tabsetPanel(),
navlistPanel() or navbarPage().
Details
For navbarPage, you can hide/show conventional
tabPanels (whether at the top level or nested inside a
navbarMenu), as well as an entire navbarMenu().
For the latter case, target should be the menuName that
you gave your navbarMenu when you first created it (by default,
this is equal to the value of the title argument).
See also
Examples
## Only run this example in interactive R sessions if (interactive()) { ui <- navbarPage("Navbar page", id = "tabs", tabPanel("Home", actionButton("hideTab", "Hide 'Foo' tab"), actionButton("showTab", "Show 'Foo' tab"), actionButton("hideMenu", "Hide 'More' navbarMenu"), actionButton("showMenu", "Show 'More' navbarMenu") ), tabPanel("Foo", "This is the foo tab"), tabPanel("Bar", "This is the bar tab"), navbarMenu("More", tabPanel("Table", "Table page"), tabPanel("About", "About page"), "------", "Even more!", tabPanel("Email", "Email page") ) ) server <- function(input, output, session) { observeEvent(input$hideTab, { hideTab(inputId = "tabs", target = "Foo") }) observeEvent(input$showTab, { showTab(inputId = "tabs", target = "Foo") }) observeEvent(input$hideMenu, { hideTab(inputId = "tabs", target = "More") }) observeEvent(input$showMenu, { showTab(inputId = "tabs", target = "More") }) } shinyApp(ui, server) }