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

6
我正在开发闪亮的仪表板表单应用程序。我想将文本输入框的颜色更改为红色,以便我可以将该字段显示为必填项。然而,我尝试了下面列出的代码,它对于dateInput很好用,但对于textInput却不起作用。
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}"),

对于上述的dateInput,它能够正常工作,但对于textInput(如屏幕截图所示),我希望标签“Name”以红色出现。

enter image description here

1个回答

7
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


它对我起作用了。 :) 非常感谢您的努力和时间,真的非常感激 :) - Nick
这并没有帮助我。我尝试在wellpanel内添加一个div,但是CSS没有被引用。 - Lazarus Thurston

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接