shinydashboard:在`menuItem`中包含输入内容时,失去`tabItem`的响应能力>> [

问题描述 投票:1回答:1
我有一个仪表板,其中tabItem中显示的dashboardBody取决于在menuItem上选择的dashboardMenu,如下所示:

library(shiny) library(shinydashboard) ui <- dashboardPage(dashboardHeader(title = "This works"), dashboardSidebar( sidebarMenu( menuItem("item 1", tabName = "item1", icon = icon("th-list")), menuItem("item 2", tabName = "item2", icon = icon("list-alt")) ) ), dashboardBody( tabItems( tabItem(tabName = "item1", tabsetPanel(id = "tabs1", tabPanel("Tab1", plotOutput("1")), tabPanel("Tab2", plotOutput("2")) )), tabItem(tabName = "item2", tabsetPanel(id = "tabs2", tabPanel("Tab3", plotOutput("3")), tabPanel("Tab4", plotOutput("4")) ) ) ) ) ) server <- function(input, output) {} shinyApp(ui, server)

但是,一旦我在menuItem中包含输入,就会丢失此响应:

ui <- dashboardPage(dashboardHeader(title = "This doesn't work"), dashboardSidebar( sidebarMenu( menuItem("item 1", tabName = "item1", icon = icon("th-list"), checkboxInput("check", label = "check")), menuItem("item 2", tabName = "item2", icon = icon("list-alt")) ) ), dashboardBody( tabItems( tabItem(tabName = "item1", tabsetPanel(id = "tabs1", tabPanel("Tab1", plotOutput("1")), tabPanel("Tab2", plotOutput("2")) )), tabItem(tabName = "item2", tabsetPanel(id = "tabs2", tabPanel("Tab3", plotOutput("3")), tabPanel("Tab4", plotOutput("4")) ) ) ) ) ) server <- function(input, output) {} shinyApp(ui, server)

<<
this answer应用于您的示例有效。解决方法如下:
r shiny shinydashboard shinyapps
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.