如何解决为什么 Reactable 中的条件颜色样式不起作用? 数据代码问题
数据
df <- tibble(
x = rep(paste0( "del",1:10 ),100),y = rep(paste0( "topic",1:5 ),200),z = paste0("question",1:1000),w = 1:1000
)
代码
reactable(
df,groupBy = c("x","y"),columns = list(
w = colDef(
aggregate = "mean",style = JS(
"function(rowInfo) {
var value = rowInfo.row.extra
if (value > 500) {
var color = '#008000'
} else {
var color = '#e00000'
}
return { color: color,fontFamily: 'monospace' }
}")
)
)
)
问题
出于某种原因,当值确实大于 500 时,JS 代码 if (value > 500)
的计算结果不是 TRUE。
我错过了什么吗?
为什么会这样,我该如何解决?
解决方法
在使用数据表(大概使用类似的 javascript 调用)时,我使用了这个包裹在 JS() 中的代码段
"
value <= 10 ? 'green' : (value <= 15 ? 'yellow' : (value >= 15 ? 'red' : 'white'))
"
如果一个值小于 10 是绿色,10 到 15 之间是黄色,大于 15 是红色。
您需要类似的语法吗?
"
value>500 ? '#008000' : 'e00000'
"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。