使用widgetframe

时间:2019-12-03 20:41:31

标签: r r-markdown dt hugo blogdown

在这种情况下,我可能错误地使用了“响应”一词,但是我试图在Blogdown / Hugo中使用DT :: datatable创建一个表,在该表中容器会调整为“显示条目”选择,例如DT page。我可以使用knitr / R markdown在常规的html文档中执行此操作,但无法在blogdown中获得此行为。我的理解是,要在Blogdown(与Hugo)中使用html小部件,我需要使用widgetframe包。凉。 widgetframe文档以DT软件包here (bottom of page)进行了演示。如您所见,当您调整“显示条目”时,容器保持不变。

一个直接的R Markdown / knitr html文档的最小示例,其中容器响应“显示条目”。

library(DT)
datatable(iris)

在Blogdown中使用小部件框架的最小示例,其中容器不响应“显示条目”。

library(widgetframe)
library(DT)
dt <-  datatable(
  head(iris, 20), 
  options = list(
     columnDefs = list(list(className = 'dt-center', targets = 5)),
     pageLength = 5, lengthMenu = c(5, 10, 15, 20)),
  fillContainer = T)

frameWidget(dt, height = 350, width = '95%')

我尝试手动控制frameWidget和DT命令中的高度。我可以控制容器的大小,但无法使其响应“显示条目”的数量。谢谢

1 个答案:

答案 0 :(得分:0)

您不需要使用widgetframe软件包。不要设置fillContainer,它将强制DT表放入容器中。默认的DT::datatable(df)会完全满足您的期望。

这是博客文章的全文示例:

---
title: A showcase for responsive DT table
date: '2019-12-17'
---

```{r}
DT::datatable(head(iris, 20))
```