如何在Shiny Dashboard中更改textInput的标签颜色

时间:2019-08-05 13:15:48

标签: r shiny shinydashboard

我正在使用闪亮的仪表板表单应用程序。我想将文本输入的颜色更改为红色,以便可以将该字段显示为必填字段。但是,我尝试了对dateInput有效但对textInput无效的代码。

我正在使用闪亮的仪表板表单应用程序,在其中我希望将文本输入的颜色更改为红色,以便可以将该字段显示为必填字段。但是我尝试了下面列出的代码,该代码对于dateInput可以正常工作,但对于textInput则不能正常工作。 / p>

column(3,wellPanel(dateInput('dateTR',format = "dd-mm-yyyy",
label = 'Date*',width = "200px",value = Sys.Date()))),
tags$style(type="text/css", "#dateTR {color : red;}"),

column(3, wellPanel(textInput ('textR', label = "Name*", value = "", width = "200px",placeholder = "--Enter name--"))),
tags$style(type="text/css", "#textR {color: red}"),

对于上述日期输入,它可以正常工作,但不能用于文本输入,如屏幕截图所示,我希望标签:Name以红色显示。

enter image description here

1 个答案:

答案 0 :(得分:2)

dateInput的情况下,将id赋予包装标签和输入本身的div。但是,在textInput的情况下,id仅传递给输入本身,而不传递给也包装标签的div。因此,您的方法仅适用于dateInput

您可以将textInput包裹在具有ID的div中,并将其中的文本div设为红色。下面的工作示例,希望对您有所帮助!

library(shiny)

ui <- fluidPage(
  column(3,wellPanel(dateInput('dateTR',format = "dd-mm-yyyy",
                               label = 'Date*',width = "200px",value = Sys.Date()))),
  tags$style(type="text/css", "#dateTR {color : red;}"),

  column(3, wellPanel(div(id='my_textinput' ,
                          textInput ('textR', label = "Name*", value = "", width = "200px",placeholder = "--Enter name--")))),
  tags$style(type="text/css", "#my_textinput {color: red}")
)

server <- function(input, output, session) {

}

shinyApp(ui, server)

enter image description here