У меня есть приложение с menuItem, которое также должно показывать вкладку при нажатии и несколько вложенных menuSubItem.Я нашел код для достижения этой цели: Показать содержимое для menuItem, когда menuSubItems существуют в Shiny Dashboard .Вкладка "charts"
, прикрепленная к пункту меню, должна отображаться при загрузке приложения.Поэтому я храню вкладки, прикрепленные к menuSubItems, в списке, поскольку они будут генерироваться динамически позже.
Однако при открытии приложения содержимое вкладки "charts"
не отображается.
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
}
uiTabs <- function() {
listTabs <- list(tabItem("charts","Charts Tab"),
tabItem("subitem1","Sub-item 1 tab content"),
tabItem("subitem2","Sub-item 2 tab content"),
tabItem("other","Other tab content"))
do.call(tabItems, listTabs)
}
header <- dashboardHeader()
sidebar <- dashboardSidebar(
sidebarMenu(
convertMenuItem(menuItem("Charts", tabName = "charts",selected=T,
menuSubItem("Sub-item 1", tabName = "subitem1"),
menuSubItem("Sub-item 2", tabName = "subitem2")),"charts"),
menuItem(tabName = "other", "Other tab")
)
)
body <- dashboardBody(
tabItems(
uiOutput("tabs")
)
)
shinyApp(
ui = dashboardPage(header, sidebar, body),
server = function(input, output) {
output$tabs <- renderUI({uiTabs()})
}
)