首页 > 解决方案 > R - 自定义闪亮仪表板标题中的文本

问题描述

为了向我的仪表板标题添加文本,我采用了这个问题的第二个答案的解决方案(使用 styles.css 文件)。我必须插入动态文本,而脚本只允许静态文本。我的文字是:

format(Sys.Date(), format="%A  %d %b %Y")

怎么解决?

标签: rtextshinyshinydashboard

解决方案


如果您想在 Shiny 的标题上显示动态日期,以下是两种不同的解决方案。

shinydashboard如果您需要使用包,此代码将很有帮助

library(shiny)
library(shinydashboard)

header <- dashboardHeader(
  title = "dynamicDates",
  tags$li(class = "dropdown", tags$a(HTML(paste(uiOutput("Refresh1"))))))
body <- dashboardBody()
sidebar <- dashboardSidebar()

ui <- dashboardPage(header, sidebar, body)

server <- function(input, output) {
  output$Refresh1 <- renderText({
    toString(format(Sys.Date(), format = "%A  %d %b %Y"))
  })
}
shinyApp(ui, server)

在这段代码中,我没有使用shinydashboard包。结合简单shiny的功能,HTML tags我们可以根据需要进行定制。

library(shiny)
ui <- fluidPage( 
  titlePanel("", windowTitle = "Dynamic Dates"),
  titlePanel(title = tags$div(img(src = "https://www.rstudio.com/wp-content/uploads/2014/04/shiny.png", width = 125, height = 115, align = "left"))),
  titlePanel(title = tags$div(class = "header" , tags$p("Dynamic", tags$b(" Dates"),style = "text-align: center; color:navy;"), style = "text-align: center; color:navy;")),
  titlePanel(title = tags$div(uiOutput("dynamicDate"), align = 'right')))

server <- function(input, output) {
  output$dynamicDate <- renderUI(toString(format(Sys.Date(), format = "%A  %d %b %Y")))
  }
shinyApp(ui, server)

推荐阅读