我使用Package“shinydashboard”创建了一个Shiny App,如下所示:
library(shinydashboard)
library(shiny)
sidebar <- dashboardSidebar(
sidebarMenu(id="tabs",
menuItem("ABC", tabName="ABC", icon=icon("line-chart"), selected=TRUE),
menuItem("ABC1", tabName="ABC1", icon=icon("line-chart"), selected=FALSE)
),
conditionalPanel("input.tabs == 'ABC'",
fluidRow(
column(11, offset = 1, h5((' Note')))
)
),
conditionalPanel("input.tabs == 'ABC1'",
fluidRow(
column(11, offset = 1, style = "height:20px; color:rgb(30,144,255);", h1((' Update')))
)
))
body <- dashboardBody(
tabItems(
tabItem(tabName = "ABC",br())
),
tabItems(
tabItem(tabName = "ABC1",br())
)
)
ui = dashboardPage(
dashboardHeader(title = "ABC"),
sidebar,
body
)
server = function(input, output){}
shinyApp(ui = ui, server = server)
但是我注意到一种奇怪的行为,当我运行App时,最初“input.tabs =='ABC'”中的注释'Note'不可见。但是,当我点击“input.tabs =='ABC1'”然后点击“ABC”时,“注释”注释变为可见。
有人可以指出我在上面代码中出错了吗?
任何帮助都将受到高度赞赏。
谢谢,
答案 0 :(得分:0)
我们似乎在shinydashboard
的最新版本中引入了此错误。抱歉!我会尽快修复它。您可以在此处跟踪进度:https://github.com/rstudio/shinydashboard/issues/214。
更新(2017年6月9日):现在已在shinydashboard的开发版本上修复此问题。如果从github安装shinydashboard,原始代码应该运行正常:
devtools::install_github("rstudio/shinydashboard")
与此同时,还有以下几点:
selected = FALSE
。menuItem()
是第一个(如上面发布的示例中所示),请同时删除selected = TRUE
,您的问题就会消失。这只是让您的应用现在正常工作的解决方法。当这个错误得到解决时,第一个selected = TRUE
中只有menuItem()
或没有任何区别。menuItem()
都有效)是使用动态侧边栏菜单:library(shinydashboard)
library(shiny)
sidebar <- dashboardSidebar(
sidebarMenuOutput("menu"),
conditionalPanel("input.tabs == 'ABC'",
fluidRow(
column(11, offset = 1, h5((' Note')))
)
),
conditionalPanel("input.tabs == 'ABC1'",
fluidRow(
column(11, offset = 1, style = "height:20px; color:rgb(30,144,255);", h1((' Update')))
)
))
body <- dashboardBody(
tabItems(
tabItem(tabName = "ABC",br())
),
tabItems(
tabItem(tabName = "ABC1",br())
)
)
ui = dashboardPage(
dashboardHeader(title = "ABC"),
sidebar,
body
)
server = function(input, output){
output$menu <- renderMenu({
sidebarMenu(id="tabs",
menuItem("ABC", tabName="ABC", icon=icon("line-chart"), selected=TRUE),
menuItem("ABC1", tabName="ABC1", icon=icon("line-chart"))
)
})
}
shinyApp(ui = ui, server = server)