R 对闪亮仪表板的特定选项卡完全禁用右侧边栏功能

R 对闪亮仪表板的特定选项卡完全禁用右侧边栏功能,r,shiny,shinydashboard,R,Shiny,Shinydashboard,我有一个闪亮的仪表板下面,我想知道是否有一种方法,以保持隐藏左右侧栏默认情况下,当一个特定的标签被选中。在这种情况下,选项卡'Front'。我是用shinyJs()做的。有没有办法隐藏'gear'图标以及从前面打开右侧边栏的功能?更具体地说,当用户在Front选项卡上时,当他单击右上角的gear图标时启用的右侧栏显示应该根本不可能。此选项卡没有右侧边栏,因为它是空的且无用 ## app.R ## library(shiny) library(shinydashbo

我有一个闪亮的仪表板下面,我想知道是否有一种方法,以保持隐藏左右侧栏默认情况下,当一个特定的标签被选中。在这种情况下,选项卡
'Front'
。我是用
shinyJs()
做的。有没有办法隐藏
'gear'
图标以及从
前面打开右侧边栏的功能?更具体地说,当用户在
Fron
t选项卡上时,当他单击右上角的
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)
##app.R##
图书馆(闪亮)
图书馆(shinydashboard)
图书馆(shinydashboardPlus)
图书馆(DT)
图书馆(shinyWidgets)
图书馆(shinyjs)

ui请参见以下内容:

## 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") {
      hide(selector = "body > div.wrapper > header > nav > div:nth-child(4) > ul")
      addClass(selector = "body", class = "sidebar-collapse")
      removeClass(selector = "body", class = "control-sidebar-open")
    } else {
      show(selector = "body > div.wrapper > header > nav > div:nth-child(4) > ul")
      removeClass(selector = "body", class = "sidebar-collapse")
      addClass(selector = "body", class = "control-sidebar-open")
    }
  })
}

shinyApp(ui = ui, server = server)
##app.R##
图书馆(闪亮)
图书馆(shinydashboard)
图书馆(shinydashboardPlus)
图书馆(DT)
图书馆(shinyWidgets)
图书馆(shinyjs)

ui我不明白,你想隐藏所有选项卡的侧边栏面板,除非选中了数据?当前,位于选项卡
前面
隐藏了侧边栏面板,但我想阻止显示右侧的功能,如果你想,你能在帖子中添加一些关于预期行为的详细信息吗?当我们启动应用程序时,它应该是什么样子,如果我们点击这个标签或这个标签,应该附加什么,等等。