【发布时间】:2020-09-13 10:59:49
【问题描述】:
我想更改 bsPopover 内容参数中一部分文本的字体颜色。
此语法在服务器端有效,但不适用于 bsPopover 函数的内容参数:
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyBS)
ui <- dashboardPagePlus(title = 'My Title',
###### Header ####
header=dashboardHeaderPlus(
title = 'Title'),
sidebar=dashboardSidebar(
disable = TRUE),
###### Body ####
body = dashboardBody(
fluidRow(
bsPopover(id = 'attend',
title = '',
content = HTML(paste0('<span style=\"color:', '#22a783', '\">',
'Green', '</span>',
'<br>', 'Red', '<br>', 'Blue', '<br>','Black')),
placement = "bottom",
trigger = "hover",
options = NULL),
actionButton(inputId = "attend",
label = "",
icon = icon('info')))))
#################### SERVER ####################
server = function(input, output, session) {
}
# Run the application
shinyApp(ui = ui, server = server)
我想让文本“绿色”显示为绿色。文本,“红色”,显示为红色等。
我可以更改 css 中的所有文本颜色,但似乎无法微调 css 之外的单个文本元素
感谢您的任何想法。
【问题讨论】:
-
出于安全原因,您的下拉列表中的 HTML 正在被清理(即除白名单之外的所有标签都将被删除)。如果您确信没有人可以将恶意 HTML 注入其中,则有一个选项,例如
sanitize=FALSE,可以将其关闭。 -
谢谢。根据列入白名单的元素,您的反馈是有意义的。 getbootstrap.com/docs/4.3/getting-started/javascript。现在我需要找出正确的实现语法。 options = list(sanitize=FALSE) 不起作用
-
是的,从记忆中,R 包将选项转换为 js 的方式存在一个奇怪的错误,您必须使用非常特定的语法。不过我再也找不到了。