【发布时间】:2020-12-09 21:38:34
【问题描述】:
我正在开发闪亮的应用程序,我需要在菜单项中有子菜单项,菜单项中有内容。
从 stackoverflow 研究后,我找到了以下链接, Show content for menuItem when menuSubItems exist in Shiny Dashboard
但上述解决方案中的问题是,每当我单击子菜单项时,菜单项下拉菜单就会关闭。所以我需要再次点击 menuitem,然后再次点击 menuitem 以获取 submenuitem 的下拉菜单。
请帮我解决这个问题。
当我点击子菜单时,下拉菜单不会自动关闭。
library(shiny)
library(shinydashboard)
convertMenuItem <- function(mi,tabName) {
mi$children[[1]]$attribs['data-toggle']="tab"
mi$children[[1]]$attribs['data-value'] = tabName
if(length(mi$attribs$class)>0 && mi$attribs$class=="treeview"){
mi$attribs$class=NULL
}
mi
}
ui <- dashboardPage(skin = "black",
dashboardHeader(
title = "test"),
dashboardSidebar(
sidebarMenu(id = "tabs",
convertMenuItem(menuItem("Data Scorecard", tabName = "scd",
menuSubItem("C1", tabName = "comp",icon = icon("angle-double-right")),
menuSubItem("C2", tabName = "consist",icon = icon("angle-double-right")),
menuSubItem("C3", tabName = "confirm",icon = icon("angle-double-right")),
menuSubItem("c4", tabName = "dupli",icon = icon("angle-double-right")),
menuSubItem("c5", tabName = "inte",icon = icon("angle-double-right")),
menuSubItem("c6", tabName = "accu",icon = icon("angle-double-right")),
menuSubItem("c7", tabName = "age",icon = icon("angle-double-right"))),"scd"))),
dashboardBody(
tabItems(
tabItem(tabName = "scd",
fluidRow(h4("scd"))),
tabItem(tabName = "comp",
fluidRow(h4("c1"))),
tabItem(tabName = "consist",
fluidRow(h4("c1"))),
tabItem(tabName = "confirm",
fluidRow(h4("c1"))),
tabItem(tabName = "dupli",
fluidRow(h4("c1"))),
tabItem(tabName = "inte",
fluidRow(h4("c1"))),
tabItem(tabName = "accu",
fluidRow(h4("c1"))),
tabItem(tabName = "age",
fluidRow(h4("c1")))
)))
server <- function(input, output, session) {
}
shinyApp(ui, server)
请查看图片以获得进一步说明。
谢谢 SJB
【问题讨论】: