r - 有谁知道如何只为一个输出更改错误消息的颜色?
问题描述
在我的应用程序上,我只想更改输出的一部分的错误消息颜色。我的错误消息目前以蓝色显示,因为这是常规输出打印的方式。
这是字体颜色的当前代码,(它不再起作用,因为我的错误消息现在是用“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})
}
我希望“错误声明”部分为黑色并以斜体显示。
是这种颜色,因为当没有错误出现时,这就是输出应该是的颜色。但是,如前所述,我希望它只有在出现错误时才显示为黑色和斜体。
有谁知道如何解决这一问题?
提前致谢!
解决方案
您需要参考“电源”。受此答案的启发,您可以执行以下操作:
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>") })
}
})
推荐阅读
- c# - CryptographicException:要解密的数据长度对 playfabserver 无效
- javascript - 如何打开具有下拉效果的菜单?
- python - 将值有效映射到具有相同标签的像素
- qt - QTreeWidget 避免默认选择新项目
- javascript - 粘贴事件在可编辑的内容中未按预期工作
- exception - Dart / Flutter - 调试器在捕获到异常时停止
- scala - 使用列名数组中的 UDF 将列合并到单个映射中
- java - 获取 mbeans 属性值树
- c# - 键盘打开时 UINavigationBar 被推出屏幕(UITextView)
- angular - 在 Angular 中使用 JIT 编译而不是使用 AOT 有什么好处吗?