reactable() 列中的图标

问题描述 投票:0回答:1

我试图在 COHORT 列中的值旁边添加图标,但它们不仅不显示,而且表本身也不会生成。我做错了什么?

data <- data.frame(
  PAYER = c("A","B","A","B","A","B","A","A","B","A","A","B","A","B","A","A","B","A","B","B","A"),
  PERIOD = c("POST","PRE","POST","PRE","PRE","PRE","POST","PRE","POST","PRE","POST","PRE","POST","PRE","PRE","PRE","POST","PRE","PRE","POST","POST"),
  VALUE = c(100,100,200,250,500,150,400,500,350,200,500,350,200,500,350,200,250,500,150,400,500),
  COHORT = c(1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0))


data %>%
  reactable(columns = list(
    COHORT = colDef(cell = function(value){
    if(value == 1) {
      icon <- "arrow-down"  
      color <- "green"
    } else if(value == 0) {
      icon <- "arrow-down-up-lock"
      color <- "red"
        icon_sets(data, icon_size = 20, icon_position = "right", icons = icon,  colors = color)
    }})))

我试图在 COHORT 列中的值旁边添加图标,但它们不仅不显示,而且表本身也不会生成。我做错了什么?

r icons reactable
1个回答
0
投票

你误会了

icon_sets
。以下是如何使用此功能:

library(reactable)
library(reactablefmtr)

data <- data.frame(
  PAYER = c("A","B","A","B","A","B","A","A","B","A","A","B","A","B","A","A","B","A","B","B","A"),
  PERIOD = c("POST","PRE","POST","PRE","PRE","PRE","POST","PRE","POST","PRE","POST","PRE","POST","PRE","PRE","PRE","POST","PRE","PRE","POST","POST"),
  VALUE = c(100,100,200,250,500,150,400,500,350,200,500,350,200,500,350,200,250,500,150,400,500),
  COHORT = c(1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0))


reactable(
  data,
  columns = list(
    COHORT = colDef(
      cell = icon_sets(
        data, icon_size = 20, icon_position = "right", 
        icons = c("arrow-down", "arrow-down-up-lock"), # first icon for lowest values, second icon for highest values
        colors = c("red", "blue") # first color for lowest values, second color for highest values
      )
    )
  )
)
© www.soinside.com 2019 - 2024. All rights reserved.