我试图格式化RHandsontable中的下拉列表无济于事。
以下是一些可复制的代码:
library(shiny)
library(dplyr)
DF <- data.frame(Value = 1:10)
choices <- 1:20
ui <- shinyUI(fluidPage(theme = shinytheme("darkly"),
rHandsontableOutput("hot")
,h4("This is example text from the theme.")
))
server = (function(input, output) {
values <- reactiveValues()
## Handsontable
observe({
if (!is.null(input$hot)) {
values[["previous"]] <- isolate(values[["DF"]])
DF = hot_to_r(input$hot)
} else {
if (is.null(values[["DF"]]))
DF <- DF
else
DF <- values[["DF"]]
}
values[["DF"]] <- DF
})
output$hot <- renderRHandsontable({
DF <- values[["DF"]]
if (!is.null(DF)) {
rhandsontable(DF) %>%
hot_col(col = c("Value"), type = "dropdown", source = choices, strict = TRUE, allowInvalid = FALSE) %>%
hot_cols(renderer = "
function(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.DropdownRenderer.apply(this, arguments);
td.style.color = 'gray';
}
")
}
})
})
shinyApp(ui = ui, server = server)
我遇到的问题是ShinyThemes包会覆盖默认字体颜色,从而使字体颜色在下拉菜单的白色背景上显示为白色。我发现一些代码将表中 值的字体颜色更改为灰色(请参见代码)。但是,此字体颜色不适用于下拉菜单。
如何更改字体颜色和/或下拉菜单的背景?
答案 0 :(得分:1)
使用此CSS:
css <- "
.handsontable.listbox td {
background: black;
}
.handsontable.listbox td.htDimmed {
color: red;
}
.handsontable.listbox tr:hover td {
background: yellow;
}
.handsontable.listbox tr td.current {
background: green;
}"
ui <- shinyUI(fluidPage(theme = shinytheme("darkly"),
tags$head(tags$style(HTML(css))),
......