在 Shiny 中更改 Picker Input 的颜色
Posted
技术标签:
【中文标题】在 Shiny 中更改 Picker Input 的颜色【英文标题】:Change color of Picker Input in Shiny 【发布时间】:2019-07-28 05:14:33 【问题描述】:我想修改我的 Picker Input 标题的字体颜色。我用的是spacelab主题,所以按钮是深灰色的,而按钮的字体颜色是灰色的,所以不太好看。
当我点击按钮,或者选择一些数据时,字体变成白色,所以现在好多了。当我修改样式颜色时,按钮变成白色,即使我告诉他是红色的。示例:
library(shiny)
library(shinythemes)
library(shinyWidgets)
ui <- fluidPage(
theme = shinytheme("spacelab"),
pickerInput(
inputId = "variable_list", choices = LETTERS, width = "60%", multiple = TRUE,
options = list(size = 10, 'actions-box' = TRUE, 'live-search' = TRUE,
virtualScroll = TRUE,
'none-selected-text'= strong("BUTTON TITLE:"),
'selected-text-format'= "static")))
server <- function(input, output, session)
shinyApp(ui = ui, server = server)
【问题讨论】:
【参考方案1】:我不确定是否有更直接的方法,但您可以使用 shiny
中的 html
使用 HTML 语法添加您想要的任何格式,例如:
'none-selected-text'=strong(HTML("<span style='color: white'>BUTTON TITLE:</span>"))
编辑
使用来自shiny
和center
标签的包装函数:
strong(tag('center', list(span(style='color: white', 'BUTTON TITLE:'))))
【讨论】:
完美,谢谢!你知道如何用这样的 HTML 语法编译几个条件吗?例如,如果我想将标题居中? 一定要像这样添加中心标签:HTML("<center><span style='color: white'>BUTTON TITLE:</span></center>")
请看我的编辑,因为我刚刚意识到它可以通过shiny
的包装函数来完成
非常完美,非常感谢,我真的应该进入一些 HTML。由于无法使用 PickerInput 制作 ObserveEvent,因此我将其放入 Dropdown 中。因此,仅当我单击 DropDown 按钮时才会生成选择列表。另一件事,HTML 代码可以改变我的应用程序的背景颜色吗?或者我别无选择,只能在我的应用程序之外(在 \www 中)创建一个 CSS 文件?
shinyWidgets
有一个函数setBackgroundColor
,你可以用它改变背景颜色:rdocumentation.org/packages/shinyWidgets/versions/0.4.5/topics/…以上是关于在 Shiny 中更改 Picker Input 的颜色的主要内容,如果未能解决你的问题,请参考以下文章