在我的应用上,我只想更改输出一部分的错误消息颜色。我的错误消息当前显示为蓝色,因为这是常规输出的打印方式。
这是字体颜色的当前代码,(由于我的错误消息现在是使用“ if”语句而不是“ validate”语句生成的,因此不再可用):
tags$head(
tags$style(".shiny-output-error{
color: black; font-style: italic;}"))
)
),
以下是错误消息:
if(input$N_1 == "") {error_statement = 'Error. Fill in Sample Size for Group 1.'}
if(input$N_2 == "") {error_statement = 'Error. Fill in Sample Size for Group 2.'}
if(input$sigma_1 <= 0) {error_statement = 'Error. Standard devation 1 must be positive.'}
if(input$sigma_2 <= 0) {error_statement = 'Error. Standard deviation 2 must be positive.'}
if(input$N_1%%1 != 0) {error_statement = 'Error. Sample size 1 must be an integer.'}
if(input$N_2%%1 != 0) {error_statement = 'Error. Sample size 2 must be an integer.'}
if(input$N_1 <= 1) {error_statement = 'Error. Sample size 1 must be 1 or greater.'}
if(input$N_2 <= 1) {error_statemement = 'Error. Sample size 2 must be 1 or greater.'}
这是我要更改的输出部分:
if(error == 1){
output$Power = renderText({error_statement})
}
我希望“错误声明”的部分为黑色并斜体显示。
This is how the output looks when an error happens
之所以是这种颜色,是因为当没有错误出现时,这就是输出应具有的颜色。但是,如前所述,我希望仅在出现错误时才将其变为黑色和斜体。
有人知道如何解决此问题吗?
提前谢谢!
答案 0 :(得分:0)
您需要参考“电源”。受this的启发,您可以执行以下操作:
library(shiny)
ui = bootstrapPage(
numericInput('n', 'Number of obs', 100),
textOutput('Power'),
tags$head(tags$style("#Power{color: black; font-style: italic;}"
)
)
)
server = function(input, output) {
output$Power <- renderText({
if (input$n<100){
paste("hello input is",input$n)
}
})
}
# Run the application
shinyApp(ui = ui, server = server)
您还可以使用HTML:
renderText({
if (input$n<100){
paste("<font color=\"#FF0000\">hello input is",input$n,"</font>") })
}
})