Create a tabset that contains tabPanel() elements. Tabsets are useful for dividing output into multiple independently viewable sections.
tabsetPanel(..., id =NULL, selected =NULL, type = c("tabs","pills","hidden"), header =NULL, footer =NULL)
Arguments
...: tabPanel() elements to include in the tabset
id: If provided, you can use input$id in your server logic to determine which of the current tabs is active. The value will correspond to the value argument that is passed to tabPanel().
selected: The 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.
type: - "tabs": Standard tab look
"pills": Selected tabs use the background fill color
"hidden": Hides the selectable tabs. Use type = "hidden" in conjunction with tabPanelBody() and updateTabsetPanel() to control the active tab via other input controls. (See example below)
header: Tag or list of tags to display as a common header above all tabPanels.
footer: Tag or list of tags to display as a common footer below all tabPanels
Returns
A tabset that can be passed to mainPanel()
Examples
# Show a tabset that includes a plot, summary, and# table view of the generated distributionmainPanel( tabsetPanel( tabPanel("Plot", plotOutput("plot")), tabPanel("Summary", verbatimTextOutput("summary")), tabPanel("Table", tableOutput("table"))))ui <- fluidPage( sidebarLayout( sidebarPanel( radioButtons("controller","Controller",1:3,1)), mainPanel( tabsetPanel( id ="hidden_tabs",# Hide the tab values.# Can only switch tabs by using `updateTabsetPanel()` type ="hidden", tabPanelBody("panel1","Panel 1 content"), tabPanelBody("panel2","Panel 2 content"), tabPanelBody("panel3","Panel 3 content")))))server <-function(input, output, session){ observeEvent(input$controller,{ updateTabsetPanel(session,"hidden_tabs", selected = paste0("panel", input$controller))})}if(interactive()){ shinyApp(ui, server)}