R reactable-展开/取消组合由groupBy创建的单个项目组

问题描述

我正在尝试使用Shiny中的reactable生成一个交互式表,该表仅为在单个键变量下包含多个值的行创建可扩展组。

library(reactable)
library(data.table)

data <- setDT(MASS::Cars93[10:22,c("Manufacturer","Model","Type","Price","MPG.city")])

reactable(data,groupBy = "Manufacturer")

Example 1

上表仅显示了Chrylser下的一个条目-我希望此窗口可以自动展开,或者理想情况下根本没有扩展箭头,并且仅在一行上显示所有信息。

一些模糊代码生成一张表,大致显示我想要的内容

data_unique <- unique(data,by = "Manufacturer")
data_dups <- unique(data[duplicated(data,by = "Manufacturer")]$Manufacturer)
reactable(data_unique,columns = list(Manufacturer = colDef(details = function(index){
                                               if(data_unique[index]$Manufacturer %in% data_dups){
                                                  reactable(data[Manufacturer == data_unique[index]$Manufacturer,c("Model","Type")])
                                                  }})))

Example 2

Chrylser现在不再具有展开按钮,并在一行中显示其所有信息。主要问题是展开按钮会产生一个与主表不对齐的单独表。我喜欢第一个示例使用groupBy()产生的行为,因此理想情况下,我将两者结合起来。谢谢。

解决方法

正如您所说的,您想在l1.config(text='') 中使用它,我想到使用shiny自动触发点击事件:

JavaScript