showTab

0th

Percentile

Dynamically hide/show a tabPanel

Dynamically hide or show a tabPanel() (or a navbarMenu())from an existing tabsetPanel(), navlistPanel() or navbarPage().

Usage
showTab(inputId, target, select = FALSE,
  session = getDefaultReactiveDomain())

hideTab(inputId, target, session = getDefaultReactiveDomain())

Arguments
inputId

The id of the tabsetPanel (or navlistPanel or navbarPage) in which to find target.

target

The value of the tabPanel to be hidden/shown. See Details if you want to hide/show an entire navbarMenu instead.

select

Should target be selected upon being shown?

session

The shiny session within which to call this function.

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

insertTab()

Aliases
  • showTab
  • hideTab
Examples
# NOT RUN {
## 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)
}

# }
Documentation reproduced from package shiny, version 1.4.0, License: GPL-3 | file LICENSE

Community examples

Looks like there are no examples yet.