Существует множество примеров, иллюстрирующих использование пользовательского рендеринга с rhandsontables
, но, к сожалению, все они используют свойства css с одним словом, например color
или background
.
Как насчет двухсоставных css-свойств , таких как background-color
, background-image
, font-size
и т. Д.?Замена дефиса (-) точкой (.) Не работает.
И использование дефисов нарушает код и выдает эту ошибку:
ReferenceError: неверное назначение слеваside
В этом примере кода я хочу назначить линейный градиент как background-image
и изменить цвет на красный, если значение равно «F».Красный цвет появляется, но градиент не появляется.
Как это исправить?
library(rhandsontable)
library(shiny)
DF = data.frame(val = 1:10, bool = TRUE, big = LETTERS[1:10], stringsAsFactors = FALSE)
ui <- fluidPage(
rHandsontableOutput("tbk")
)
server <- function(input, output) {
output$tbk <- renderRHandsontable({
rhandsontable(DF, width = 550, height = 300) %>%
hot_cols(renderer = "
function (instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);
if (value == 'F') {
td.style.background-image = 'linear-gradient(to right, transparent, green)';
td.style.color = 'red';
} else if(value == 'J') {
td.style.background = 'lightgreen';
} else if(value == 'A' | value == 'x') {
td.style.background = 'lightblue'}
}")
})
}
shinyApp(ui, server)