【发布时间】:2020-06-30 18:29:09
【问题描述】:
我在下面有一个闪亮的仪表板,我想知道是否有一种方法可以在选择特定选项卡时默认隐藏左侧和右侧边栏。在这种情况下,选项卡'Front'。我用shinyJs() 做到了。有没有办法同时隐藏'gear' 图标以及完全从"Front" 打开右侧边栏的能力?更具体地说,当用户在Front 选项卡中时,根本不可能出现在他单击右上角的gear 图标时启用的右侧边栏显示。此选项卡没有右侧边栏,因为它是空的且无用的。
## app.R ##
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(DT)
library(shinyWidgets)
library(shinyjs)
ui <- dashboardPagePlus(
dashboardHeaderPlus(
enable_rightsidebar = TRUE,
rightSidebarIcon = "gears",
fixed = T
),
dashboardSidebar(
),
dashboardBody(
useShinyjs(),
tags$hr(),
tabsetPanel(
id ="tabA",
type = "tabs",
tabPanel("Front",icon = icon("accusoft")),
tabPanel("Data", icon = icon("table")
)
)
),
rightsidebar = rightSidebar(
)
)
server <- function(input, output) {
observe({
if (input$tabA == "Front") {
addClass(selector = "body", class = "sidebar-collapse")
removeClass(selector = "body", class = "control-sidebar-open")
} else {
removeClass(selector = "body", class = "sidebar-collapse")
addClass(selector = "body", class = "control-sidebar-open")
}
})
}
shinyApp(ui = ui, server = server)
【问题讨论】:
-
我不明白,你想隐藏除wen
Data之外的所有选项卡的侧边栏面板?目前,在标签Front上隐藏侧边栏面板 -
但如果你愿意,我想阻止显示正确的能力
-
您能否在帖子中添加一些有关预期行为的详细信息?当我们启动它时应用程序应该是什么样子,如果我们点击这个选项卡或这个选项卡应该附加什么,等等。
标签: r shiny shinydashboard