nav_select | R Documentation |
Functions for dynamically updating nav containers (e.g., select, insert, and
remove nav items). These functions require an id
on the nav container to be
specified and must be called within an active Shiny session.
nav_select(id, selected = NULL, session = get_current_session())
nav_insert(
id,
nav,
target = NULL,
position = c("after", "before"),
select = FALSE,
session = get_current_session()
)
nav_remove(id, target, session = get_current_session())
nav_show(id, target, select = FALSE, session = get_current_session())
nav_hide(id, target, session = get_current_session())
id |
a character string used to identify the nav container. |
selected |
a character string used to identify a particular
|
session |
a shiny session object (the default should almost always be used). |
nav |
a |
target |
The |
position |
Should |
select |
Should |
Navset functions create the navigation container holding the nav panels.
nav_panel()
, nav_panel_hidden()
create panels of content.
nav_menu()
, nav_item()
, nav_spacer()
create menus, items, or
space in the navset control area.
Other Panel container functions:
nav-items
,
navset
can_browse <- function() rlang::is_interactive() && require("shiny")
# Selecting a tab
if (can_browse()) {
shinyApp(
page_fluid(
radioButtons("item", "Choose", c("A", "B")),
navset_hidden(
id = "container",
nav_panel_hidden("A", "a"),
nav_panel_hidden("B", "b")
)
),
function(input, output) {
observe(nav_select("container", input$item))
}
)
}
# Inserting and removing
if (can_browse()) {
ui <- page_fluid(
actionButton("add", "Add 'Dynamic' tab"),
actionButton("remove", "Remove 'Foo' tab"),
navset_tab(
id = "tabs",
nav_panel("Hello", "hello"),
nav_panel("Foo", "foo"),
nav_panel("Bar", "bar tab")
)
)
server <- function(input, output) {
observeEvent(input$add, {
nav_insert(
"tabs", target = "Bar", select = TRUE,
nav_panel("Dynamic", "Dynamically added content")
)
})
observeEvent(input$remove, {
nav_remove("tabs", target = "Foo")
})
}
shinyApp(ui, server)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.