R-自定义Shinydashboard标头中的文本

时间:2018-10-07 20:05:47

标签: r text shiny shinydashboard

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

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

如何解决?

1 个答案:

答案 0 :(得分:0)

如果要在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)