我正在编写一个flexdashboard,在选项卡中显示带有DataTable(DT)的数据帧。
在DT和普通的flexdashboard选项卡上使用fillContainer=T
时,我得到了所需的结果:我的数据表填充整个容器但不是更多。
Shinyapps.io : Flexdashboard Tabs with DT's fillContainer=T
Flexdashboard Tabs with DT::FillContainer
======================
Column {.tabset .tabset-fade}
-----------------------------------------------------------------------
### iris
```{r}
DT::datatable(
iris,
fillContainer = T,
rownames = F)
```
### mtcars
```{r}
DT::datatable(
mtcars,
fillContainer = T,
rownames = F)
```
我现在正尝试使用tabsetPanel
而不是flexdashboard标签动态生成的标签。无论有没有fillContainer=T
,我都试过了。但是数据表没有准确地填充容器,并且高度太长或非常短(少于2行)。在这两种情况下,分页选项都显示在最后一行的下方而不是容器的底部。
Shinyapps.io : Shiny Tabs with DT's fillContainer=T
Shiny Tabs with DT::fillContainer
======================
Column {.tabset .tabset-fade}
-----------------------------------------------------------------------
### Tabs container with fillContainer
```{r}
library(shiny)
tabsetPanel(
tabPanel("iris",
DT::datatable(
iris,
fillContainer = T,
rownames = F)),
tabPanel("mtcars",
DT::datatable(
mtcars,
fillContainer = T,
rownames = F))
)
```
Shinyapps.io : Shiny Tabs without DT's fillContainer=T
Shiny Tabs without DT::fillContainer
======================
Column {.tabset .tabset-fade}
-----------------------------------------------------------------------
### Tabs container without fillContainer
```{r}
library(shiny)
tabsetPanel(
tabPanel("iris",
DT::datatable(
iris,
fillContainer = F,
rownames = F)),
tabPanel("mtcars",
DT::datatable(
mtcars,
fillContainer = F,
rownames = F))
)
```
如何正确填充容器? 非常感谢
答案 0 :(得分:0)
设置fillContainer = FALSE
将style = "height:550px; overflow-y: scroll;"
添加为tabPanel的参数。
我在Shinydashboard中成功使用了此功能,其中tabPanels是tabBox参数的一部分。