Shinydashboard 可以使用 Tabpanels 并具有导航栏吗?

use*_*875 5 r shiny shinydashboard

我目前正在使用 Shinydashboard,但我希望有不同的 sidbar 菜单与主体中的内容相关联。这可以通过闪亮的仪表板实现吗?

例如:

我想要这样的东西 https://gallery.shinyapps.io/CDCPlot/

看看当您单击导航栏选项时,侧边栏菜单和正文如何变化。

在shinydashboad中这可能吗?我喜欢 Shinydashboard 的外观和感觉,宁愿不回到闪亮的状态。

底层代码在这里:https : //github.com/NLMichaud/WeeklyCDCPlot/blob/master/ui.R

并使用 tabpanels 和导航栏。在 Shinydashboard 中有类似的东西吗?

有代码的例子吗?

谢谢!

Ser*_*vet 3

您要问的问题很棘手,可能不可能,因为在闪亮的仪表板中,顶级导航控件位于仪表板侧边栏(左侧)内,内容包含在仪表板主体(右侧)内。如果您将 navMenu 放置在仪表板主体内,则它必须属于特定的侧边栏项目,并且如果您稍后单击另一个侧边栏项目,它将消失。

您可能需要改变实现此目标的方式。根据您想要做什么,您可以尝试:

创建一个仪表板侧边栏,其中包含通常位于顶部菜单中的菜单项,并且您可以将该菜单的所有控件放置在关联的 tabItem 下。您甚至可以通过在 server.R 中使用使其全部动态renderMenu()

output$menu <- renderMenu({
   sidebarMenu(id = "sidebMenu",
       menuItem("Load Data", tabName = "loadData", icon = icon("database"),
          actionButton("press", "Press me")
   )
})
Run Code Online (Sandbox Code Playgroud)

这样做的缺点可能是,您可以在侧边栏菜单中放入的控件数量有限,但它看起来仍然不错。但这就是仪表板的制作方式。

或者

使用不带侧边栏的全屏仪表板dashboardSidebar(disable = TRUE),并以与您提到的示例类似的方式使用导航菜单。您将没有闪亮仪表板的侧边栏,并且您必须像示例中一样制作自己的侧边栏。这样,您可能仍然喜欢shinydashboard提供的其他功能,如通知、框、皮肤、状态框等。但这只是一个建议,这取决于您。

希望这可以帮助。