以编程方式更改R Shinymaterial应用程序中的所选导航选项卡

时间:2019-06-27 11:10:38

标签: r shiny shinyjs

我需要单击一个按钮来更改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)

当前按钮仅不产生任何输出。

谢谢

0 个答案:

没有答案