Create a tabset panel — tabsetPanel
R/bootstrap.R
Description
Create a tabset that contains tabPanel()
elements. Tabsets are
useful for dividing output into multiple independently viewable sections.
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 thevalue
argument that is passed totabPanel()
.- selected
The
value
(or, if none was supplied, thetitle
) of the tab that should be selected by default. IfNULL
, 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 withtabPanelBody()
andupdateTabsetPanel()
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
Value
A tabset that can be passed to mainPanel()
See also
Examples
# Show a tabset that includes a plot, summary, and
# table view of the generated distribution
mainPanel(
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)
}