This function controls the active tab of tabItems() from the
server. It behaves just like shiny::updateTabsetPanel().
updateTabItems(...)Arguments passed on to shiny::updateTabsetPanel
sessionThe session object passed to function given to
shinyServer. Default is getDefaultReactiveDomain().
inputIdThe id of the tabsetPanel, navlistPanel,
or navbarPage object.
selectedThe value (or, if none was supplied, the title)
of the tab that should be selected by default. If NULL, the first
tab will be selected.
## Only run this example in interactive R sessions
if (interactive()) {
ui <- dashboardPage(
dashboardHeader(title = "Simple tabs"),
dashboardSidebar(
sidebarMenu(
id = "tabs",
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th"))
),
actionButton('switchtab', 'Switch tab')
),
dashboardBody(
tabItems(
tabItem(tabName = "dashboard",
h2("Dashboard tab content")
),
tabItem(tabName = "widgets",
h2("Widgets tab content")
)
)
)
)
server <- function(input, output, session) {
observeEvent(input$switchtab, {
newtab <- switch(input$tabs,
"dashboard" = "widgets",
"widgets" = "dashboard"
)
updateTabItems(session, "tabs", newtab)
})
}
shinyApp(ui, server)
}