【发布时间】:2020-01-31 05:51:46
【问题描述】:
我正在从我的 Shiny 应用程序的服务器创建一个侧边栏菜单,但服务器生成的菜单的格式与 UI 中创建的菜单不匹配。
在将 div() 分配给菜单后,我尝试了一些 Shinyjs 隐藏/显示功能,但最终结果是一种奇怪的、不匹配的格式。我认为 renderMenu 可能是更好的路径。我不希望使用 CSS 来“破解”,但我们不胜感激。
这是一个工作脚本:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = 'Header'),
dashboardSidebar(
sidebarMenu(
menuItem('First Menu', tabName = 'first_menu'),
menuSubItem('sub1', tabName = 'sub_1'),
menuSubItem('sub2', tabName = 'sub_2'),
uiOutput('server_menu')
)
),
dashboardBody()
)
server <- function(input, output) {
output$server_menu <- renderMenu({
list(
menuItem('Second Menu', tabName = 'second_menu'),
menuSubItem('sub3', tabName = 'sub_3'),
menuSubItem('sub4', tabName = 'sub_4')
)
})
}
shinyApp(ui, server)
产生这个结果:
任何关于我如何解决这个问题的建议都很棒!干杯
【问题讨论】: