我使用的是excelent crosstalk r package
来为我的可反应的htmlwidget制作过滤器。我将reactable显示在 flexdashboard
. 当使用 groupBy
的特点 reactable
我注意到,没有滚动条,当我使表比它已被放置的区域大。
下面是一个例子,Tha有助于使这个问题清楚。
---
title: "Focal Chart (Top)"
output:
flexdashboard::flex_dashboard:
orientation: rows
---
Row {data-height=500}
-------------------------------------
### Chart 1
```{r}
library(crosstalk)
library(reactable)
```
Row {data-height=500}
-------------------------------------
### With crosstalk filtering
```{r}
cars <- MASS::Cars93[1:20, c("Manufacturer", "Model", "Type", "Price")]
data <- SharedData$new(cars)
bscols(
widths = c(3, 9),
list(
filter_checkbox("type", "Type", data, ~Type),
filter_slider("price", "Price", data, ~Price, width = "100%"),
filter_select("mfr", "Manufacturer", data, ~Manufacturer)
),
reactable(data,groupBy = "Manufacturer")
)
```
### Without crosstalk
```{r}
reactable(data,groupBy = "Manufacturer")
```
两个表格显示。当decollapsing e.g. Chevrolet在两个表中,在右边的一个(没有串扰过滤的)滚动条将出现。但在左边的表格中,则不会出现滚动条。
我怎样才能使我的串扰可滚动?这个问题可以解决吗?非常感谢
我不认为这是一个完整的答案,但它可能会让你更接近。我夸大了minWidth,所以你可以看到效果。
sticky_style <- list(position = "sticky", left = 0, background = "#fff", zIndex = 1,
borderRight = "1px solid #eee")
crosstalk::bscols(
widths = c(3, 9),
list(
filter_checkbox("type", "Type", data, ~Type),
filter_slider("price", "Price", data, ~Price, width = "100%"),
filter_select("mfr", "Manufacturer", data, ~Manufacturer)
),
reactable(data,columns = list(
Manufacturer = colDef(
style = sticky_style,
headerStyle = sticky_style
)
), defaultColDef = colDef(minWidth = 300))
)
顺便说一下,@DanielJachetta,我有同样的问题,所以更新了crosstalk和reactable包,问题就消失了。祝您好运。