如何在仪表板标题侧边栏图标的右侧添加文本?似乎以前的类似解决方案在dashboardHeader()的更新下不再起作用。

这是我要在基本的Shinydashboard设置中尝试执行的操作:

我可以使用this answer中的策略来获取标题中的文本,但是它是右对齐的(我很可能可以修复自定义css)并且感觉也很hacky。

library(shiny)
library(shinydashboard)
ui <- dashboardPage(dashboardHeader(title = "demo",
  tags$li(class = "dropdown",
    tags$p("foo")
  )
), dashboardSidebar(), dashboardBody())
server <- function(input, output) { }
shinyApp(ui, server)

有一个更好的方法吗?

最佳答案

dashboardHeader期望使用dropdownMenu类型的元素。因此,很难找到一个不容易破解的解决方案。可能的(hacky)选项是:a)修改dashboardHeader函数,或b)创建 header 后使用一些JavaScript代码添加文本。以下是我尝试使用JavaScript解决您的问题的尝试,也许可以为您提供帮助。

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
  dashboardHeader(
    title = "demo"
  ),
  dashboardSidebar(),
  dashboardBody(
    tags$head(tags$style(HTML(
      '.myClass {
        font-size: 20px;
        line-height: 50px;
        text-align: left;
        font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
        padding: 0 15px;
        overflow: hidden;
        color: white;
      }
    '))),
     tags$script(HTML('
      $(document).ready(function() {
        $("header").find("nav").append(\'<span class="myClass"> Text Here </span>\');
      })
     '))
  )
)
server <- function(input, output) { }
shinyApp(ui, server)

关于r - 在Shinydashboard header 右侧添加文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45176030/

10-12 22:32
查看更多