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

标签 r shiny shinydashboard

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

例如:

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

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

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

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

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

有代码的例子吗?

谢谢!

最佳答案

你问的是棘手的,可能是不可能的,因为在 Shinydashboard 中,顶级导航控件位于dashboardSidebar(左侧)内,内容包含在dashboardBody(右侧)内。如果您在dashboardBody 中放置一个navMenu,它必须属于一个特定的侧边栏项目,并且如果您稍后单击另一个侧边栏项目,它将消失。

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

创建一个带有通常位于顶部菜单中的菜单项的dashboardSidebar,您可以将该菜单的所有控件放在关联的tabItem 下。您甚至可以使用 renderMenu() 使其全部动态化。在 server.R 中:

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

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

或者

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

希望这可以帮助。

关于r - Shinydashboard 可以使用 Tabpanels 并具有导航栏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32596191/

相关文章:

R传播错误: Duplicate identifiers for rows

r - R 中数据集中具有最小值和最大值的列名

python - 在 R 中打开 pickled sklearn 文件

javascript - markercluster 是否与 leafletProxy() 和选项 iconCreateFunction 一起工作?

css - 隐藏 Shiny 表中的列名称

r - 为什么 data.table 上的 class(.SD) 显示 "data.frame"?

html - shinydashboard 增加仪表板页面的大小

r - Shiny 适合连续三个以上的值框

R Shiny 模块 - 无法将类型 'closure' 强制转换为字符类型的向量

r - 在shinyR仪表板中为ggplot2创建动态相关输入过滤器并相应地渲染绘图