我有一些数据正在尝试使用reactable
. 我正在根据值设置单元格背景的样式。数据中有许多有用的组,但这些组本身没有有用的聚合值。
我面临的问题是,当使用自定义分组选择对数据进行分组时,表格将保留前几行数据的样式,因此背景是彩色的。我希望它对于分组行是空白的。
在下面的示例中,当您按分组进行分组时,group
您会注意到A
并C
具有背景颜色,从数据中的第 1 行和第 3 行继承样式。我可以想象一种组织数据的 hacky 方式,因此只有非风格化的行排在第一位,但这并不合适,因为数据在初始呈现时会过于杂乱无章。
有没有办法在分组时剥离样式,但为具有值的行保留它?
library(reactable)
library(htmltools)
set.seed(1)
data <- data.frame(
group = rep(c("A", "B", "C"), each = 5),
value = rnorm(15)
)
htmltools::browsable(
tagList(
div(tags$label("Group by", `for` = "tab")),
tags$select(
id = "tab",
onchange = "Reactable.setGroupBy('tab', this.value ? [this.value] : [])",
tags$option("None", value = ""),
tags$option("Group", value = "group"),
),
reactable(
data,
columns = list(
value = colDef(style = function(value){
if (value < 0) list(background = "#ffa500")
})
),
defaultPageSize = 15,
elementId = "tab"
)
)
)