首页 > 解决方案 > 如何在 Shiny Dashboard 中更改 textInput 的标签颜色

问题描述

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

我正在开发闪亮的仪表板表单应用程序,我想将文本输入的颜色更改为红色,以便我可以将该字段显示为必填项。但是我尝试了下面列出的代码,该代码适用于 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 如屏幕截图所示,我希望标签:名称显示为红色。

在此处输入图像描述

标签: rshinyshinydashboard

解决方案


在 的情况下dateInput,id 被赋予一个包含标签和输入本身的 div。然而,在这种情况下textInput,id 只传递给输入本身,而不是传递给也包装标签的 div。因此,您的方法仅适用于dateInput.

你可以用一个 id 把它包裹起来textInputdiv然后把里面的文字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)

在此处输入图像描述


推荐阅读