R Shinydashboard пользовательских CSS для ValueBox

Я пытался изменить цвет valueBox на пользовательский цвет (помимо тех, которые доступны в validColors), но не смог этого сделать. Я понимаю, что есть способ использовать теги для включения пользовательских CSS, но я не смог разместить их в нужном месте.

ui<- dashboardPage(   
                dashboardHeader(),  
                 dashboardSidebar(),  
                 dashboardBody(  
                           fluidRow(valueBoxOutput("name")  
                             )))

 server<- function(input, output){  
  output$name<- renderValueBox({ valueBox(  
    ("example"), subtitle = "Subtitle text",color="blue")}  
  )}

Любая помощь высоко ценится!

1 ответ

Решение

Привет, вы можете перезаписать класс CSS, чтобы добавить пользовательский цвет с tags$style в пользовательском интерфейсе, как показано ниже, измените background-color для цвета коробки (здесь кричащий желтый) и color для цвета текста. Здесь только коробка с color = "yellow" будут изменены, так как только класс .small-box.bg-yellow обновляется.

library("shiny")
library("shinydashboard")

ui<- dashboardPage(
  dashboardHeader(),  
  dashboardSidebar(),  
  dashboardBody(
    tags$style(".small-box.bg-yellow { background-color: #FFFF00 !important; color: #000000 !important; }"),
    fluidRow(
      valueBoxOutput("name1"), 
      valueBoxOutput("name2")
    )
  )
)

server<- function(input, output){
  output$name1 <- renderValueBox({
    valueBox("example", subtitle = "Subtitle text", color = "yellow")
  })
  output$name2 <- renderValueBox({
    valueBox("example", subtitle = "Subtitle text", color = "blue")
  })
}
shinyApp(ui = ui, server = server)
Другие вопросы по тегам