我有一个带侧边栏的闪亮应用程序和带有多个标签的主面板。我想折叠sidebarpanel的某些标签,并显示一些标签。
我怎么能这样做?感谢。
答案 0 :(得分:2)
我不确定你真的需要“隐藏”或只是为某些标签指定侧边栏而不是某些标签(参见ui部分)。 如果您需要隐藏侧栏,请参阅(注释)服务器部分。
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
navbarPage("",
tabPanel("tab",
div( id ="Sidebar",sidebarPanel(
actionButton("showSidebar", "I am tab sidebar content")
)),
mainPanel(actionButton("showSidebar", "I am tab main content")
)
),
tabPanel("tab2",
div( id ="Sidebar2",sidebarPanel(
actionButton("showSidebar", "I am tab2 sidebar content")
)),
mainPanel(actionButton("showSidebar", "I am tab2 main content")
)
),
tabPanel("tab3",
mainPanel(actionButton("showSidebar", "I dont have a sidebar")
)
)
)
)
server <-function(input, output, session) {
# In case you need to hide them for some reason
# observeEvent(input$tabs == "tab", {
# shinyjs::hide(id = "Sidebar")
# })
}
shinyApp(ui, server)