我需要单击一个按钮来更改Shinymaterial应用程序中选定的侧面导航选项卡。
我尝试了标准的闪亮updateTabsetPanel()函数,在这种情况下我无法使用。我也尝试使用Shinyjs包通过sendCustomMessage调用创建onclick函数,但是我无法正确获取js消息表达式。
为证明这一点,我改编自https://ericrayanderson.github.io/shinymaterial/
library(shiny)
library(shinymaterial)
ui <- material_page(
title = "Basic Page + Side-Nav with Tabs",
nav_bar_fixed = TRUE,
material_side_nav(fixed = TRUE,
material_side_nav_tabs(
side_nav_tabs = c(
"Example Side-Nav Tab 1" = "example_side_nav_tab_1",
"Example Side-Nav Tab 2" = "example_side_nav_tab_2"
),
icons = c("cast", "insert_chart")
)),
material_side_nav_tab_content(
side_nav_tab_id = "example_side_nav_tab_1",
material_button(input_id = 'change_nav_tab_btn',
label = 'Click to change tab')
),
material_side_nav_tab_content(side_nav_tab_id = "example_side_nav_tab_2",
tags$h1("Second Side-Nav Tab Content"))
)
server <- function(input, output) {
shinyjs::onclick(
id = 'change_nav_tab_btn',
expr = session$sendCustomMessage("$('#example_side_nav_tab_2_tab_id').show()")
)
}
shinyApp(ui = ui, server = server)
当前按钮仅不产生任何输出。
谢谢