闪亮 - 如何禁用dashboardHeader

Posted

技术标签:

【中文标题】闪亮 - 如何禁用dashboardHeader【英文标题】:shiny - how to disable the dashboardHeader 【发布时间】:2017-01-19 15:58:42 【问题描述】:

我是闪亮的新手。当我制作我的项目时,我需要在服务器端隐藏dashboardHeader。

在shinydashboard 网站上,我找到了代码dashboardHeader(disable = TRUE)。我试过这个,但它不起作用。

但是,我尝试使用 shinyjs 来解决问题。

    <code>

    library(shiny)
    library(shinydashboard)
    library(shinyjs)

    ui <- dashboardPage(
          dashboardHeader(
                extendShinyjs(text = 'shinyjs.hidehead = function(params)            
                $("header").addClass("sidebar-collapse") '),
                          ),
          dashboardSidebar(),
          dashboardBody(
              actionButton("button","hide_header",width = 4 )
                       )
                       )

    server <- function(input, output) 
         observeEvent(input$button, 
                       js$hidehead()           
                  )

   shinyApp(ui, server)</code>

我猜你已经知道了,还是不行。

对我的案例有什么想法吗?

【问题讨论】:

【参考方案1】:

Shinyjs 是一个很棒的库。您的代码的问题是您需要首先使用 shinyjs::useShinyjs() 初始化 shinyjs 并将其放入 dashboarBody 函数中。此外,要隐藏/显示标题,您不需要添加实际上用于侧边栏的类"sidebar-collapse"。您只需添加style="display:none" 即可隐藏标题,删除它即可显示标题。以下是修改为隐藏/显示标题的代码。使用的JS代码很简单,直接从js$hidehead()函数接收参数添加。

library(shiny)
library(shinydashboard)
library(shinyjs)

ui <- dashboardPage(
        dashboardHeader(),
        dashboardSidebar(),
        dashboardBody(
          # initialize shinyjs
          shinyjs::useShinyjs(),
          # add custom JS code
          extendShinyjs(text = "shinyjs.hidehead = function(parm)
                                    $('header').css('display', parm);
                                "),
          actionButton("button","hide header"),
          actionButton("button2","show header")
        )
      )

server <- function(input, output) 
  observeEvent(input$button, 
    js$hidehead('none')           
  )
  observeEvent(input$button2, 
    js$hidehead('')           
  )


shinyApp(ui, server) 

【讨论】:

不能再感谢了。我搞砸了侧边栏和标题。您的回答有助于我理解 shinyjs 功能。非常感谢您的帮助。再次感谢。 很高兴知道它对您有帮助。如果它对您的问题有很好的回答,您可以接受带有复选标记的问题,这样您就可以帮助其他用户。

以上是关于闪亮 - 如何禁用dashboardHeader的主要内容,如果未能解决你的问题,请参考以下文章

在绘图加载时禁用闪亮按钮

如何禁用闪亮的 bs4Dash 仪表板控制栏(右侧栏)

闪亮的应用程序:禁用下载按钮

将数据导出到 SQL DB 时闪亮禁用操作按钮 x 秒

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

禁用日期范围内的键盘输入闪亮