有没有办法从服务器端手动禁用/启用 Shiny 仪表板应用程序上的侧边栏?
当我需要更多空间而不使用标题上的切换按钮时,我想自动隐藏侧边栏。
谢谢
最佳答案
我对仪表板不是很熟悉,因为我从未构建过仪表板,但是快速浏览一下,似乎当单击打开/隐藏侧边栏按钮时,所发生的只是将 sidebar-collapse
类添加/删除到 <body>
标签.也许更多我不知道的事情发生了,但这似乎是最明显的事情。
因此,您可以轻松使用 shinyjs 包(免责声明:我是作者)添加/删除该类
library(shiny)
library(shinydashboard)
library(shinyjs)
shinyApp(
ui =
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
shinyjs::useShinyjs(),
actionButton("showSidebar", "Show sidebar"),
actionButton("hideSidebar", "Hide sidebar")
)
),
server = function(input, output, session) {
observeEvent(input$showSidebar, {
shinyjs::removeClass(selector = "body", class = "sidebar-collapse")
})
observeEvent(input$hideSidebar, {
shinyjs::addClass(selector = "body", class = "sidebar-collapse")
})
}
)
关于r - 从服务器端禁用/启用侧边栏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31305930/