【发布时间】:2016-05-04 16:45:43
【问题描述】:
我的仪表板有问题。 我想创建一个动态侧边栏菜单,但默认情况下,菜单项不起作用。用户必须单击它才能显示它。我找到了一个关于这个问题的例子 https://github.com/rstudio/shinydashboard/issues/71 但解决方案不起作用。 如果您有想法...提前谢谢您
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
sidebarMenuOutput("menu")
),
dashboardBody(tabItems(
tabItem(tabName = "dashboard", h2("Dashboard tab content"))
))
)
server <- function(input, output) {
output$menu <- renderMenu({
sidebarMenu(id="mytabs",
menuItem("Menu item", tabName="dashboard", icon = icon("calendar"))
)
})
}
shinyApp(ui, server)
【问题讨论】:
-
比起使用renderMenu函数,使用htmlOutput和renderUI要容易得多,然后你可以在里面放任何你想要的东西。
-
给定的代码对我有用
-
@Shape 是的,但我也有同样的问题:
ui <- dashboardPage( dashboardHeader(title = "Dynamic sidebar"), dashboardSidebar( uiOutput("menu") ), dashboardBody(tabItems( tabItem(tabName = "dashboard", h2("Dashboard tab content")) )) ) server <- function(input, output) { output$menu <- renderUI({ sidebarMenu(id="mytabs", menuItem("Menu item", tabName="dashboard", icon = icon("calendar"))) }) } shinyApp(ui, server) -
@kppatel-patel 是的,它可以工作,但这不是我想要的,用户没有点击菜单项,而是直接移动到内容菜单项。
标签: r shiny shinydashboard