使用“shinyjs”包控制闪亮仪表板菜单项的可见/不可见

时间:2016-11-07 22:58:01

标签: r shiny menuitem dashboard shinyjs

我可以友好地询问有关“shinyjs”包裹的问题吗?

我构建了一个闪亮的仪表板,我想设置一个使用“shinyjs”来控制菜单项的可见/不可见的功能。

我设计的第一个菜单项/页面是选择此仪表板的数据。用户选择了他们想要的数据后,我不希望他们返回更改他们的选择。所以我想设计一个按钮,如果用户单击此按钮,第一个菜单项将消失,但菜单项的其余部分将出现。

我确信这是可能的,但我认为它需要一些Javascript知识来编写代码。

这就像这个问题的答案,但我只是切换菜单项的可见/不可见。

activate tabpanel from another tabpanel

我感谢任何回复!

谢谢!

乔安娜

1 个答案:

答案 0 :(得分:4)

我通过为要隐藏/显示的项添加标签$ div()来解决它。

UI:

hidden(tags$div(
  class = "header",
  id = "haha",
  menuItem(
    tags$em("DIY Pivot Table", style = "font-size:170%"),
    icon = icon("bar-chart-o"),
    tabName = "Pivot"
  ),
  br(),
  menuItem(
    tags$em("Search Data", style = "font-size:170%"),
    icon = icon("bar-chart-o"),
    tabName = "searchdata"
  )
)) 

服务器:

observeEvent(input$showSidebar, {
shinyjs::toggle("haha")

})

因此,通过这种方式,您可以使用输入$ showSidebar来控制菜单项的可见/不可见。