shinydashboard侧边栏无法打开多个选项卡
我有一些非常简单的shinydashboard侧边栏无法打开多个选项卡,shiny,shinydashboard,Shiny,Shinydashboard,我有一些非常简单的shinydashboardcode: library(shiny) library(shinydashboard) ui <- dashboardPage( dashboardHeader(), dashboardSidebar( sidebarMenu(id='tab1', menuItem('tab 1', tabName='tab1', menuSubItem('subtab 1', tabName='tab1subt
shinydashboard
code:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(id='tab1',
menuItem('tab 1', tabName='tab1',
menuSubItem('subtab 1', tabName='tab1subtab1'),
menuSubItem('subtab 2', tabName='tab1subtab2')
),
menuItem('tab 2', tabName='tab2',
menuSubItem('subtab 1', tabName='tab2subtab1'),
menuSubItem('subtab 2', tabName='tab2subtab2')
)
),
tags$head(tags$script(HTML('$(document).ready(function() {$(".treeview-menu").css("display", "block");})')))
),
dashboardBody(
tabItems(
tabItem(tabName='tab1subtab1',
verbatimTextOutput('check11')
),
tabItem(tabName='tab1subtab2',
verbatimTextOutput('check12')
),
tabItem(tabName='tab2subtab1',
verbatimTextOutput('check21')
),
tabItem(tabName='tab1subtab1',
verbatimTextOutput('check22')
)
)
)
)
server <- function(input, output, session) {
observe(print(input$tab))
output$check11 <- renderPrint(input$tab)
output$check12 <- renderPrint(input$tab)
output$check21 <- renderPrint(input$tab)
output$check22 <- renderPrint(input$tab)
}
shinyApp(ui, server)
库(闪亮)
图书馆(shinydashboard)
ui此行为不是由js代码引起的,它只是sidebarMenu
的方式。如果选择了一个选项卡,则另一个选项卡将自动折叠
虽然我不知道如何通过js或其他方式设置,但我想到的最简单的解决方案是使用2sidebarMenu
-s而不是1
同样,这可能不是您想要的,但它应该可以解决崩溃的问题
代码:
库(闪亮)
图书馆(shinydashboard)
谢谢!很简单。事实上,我还有一个问题。在我的原始代码中,我的服务器
功能允许我使用观察(打印(输入$tab))
,我可以根据选择的选项卡修改操作。现在看来这是不可能的。我可以使用observe(print(input$tab1))
,但这只允许选项tab1subtab1
和tab1subtab2
,而不包括tab2subtab1
和tab2subtab2
。有办法解决这个问题吗?js解决方案是解决这个问题的唯一方法吗?是的,我没有考虑到,如果你有2个侧边栏菜单
,那么你可以每个选择1个项目,这不是你想要的。因此,这种方法不是可行的。
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(id='tab',
menuItem('tab 1', tabName='tab1',
menuSubItem('subtab 1', tabName='tab1subtab1'),
menuSubItem('subtab 2', tabName='tab1subtab2')
)
),
sidebarMenu(id='tab2',
menuItem('tab 2', tabName='tab2',
menuSubItem('subtab 1', tabName='tab2subtab1'),
menuSubItem('subtab 2', tabName='tab2subtab2')
)
),
tags$head(tags$script(HTML('$(document).ready(function() {$(".treeview-menu").css("display", "block");})')))
),
dashboardBody()
)
server <- function(input, output, session) {
}
shinyApp(ui, server)