【问题标题】:'Responsive' datatable container DT::datatable in blogdown using widgetframe“响应式”数据表容器 DT::datatable 在 blogdown 中使用 widgetframe
【发布时间】:2020-03-28 14:31:58
【问题描述】:

我可能在这种情况下错误地使用了“响应式”一词,但我正在尝试使用 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 中使用 widgetframe 的最小示例,其中容器不响应“显示条目”。

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 命令中手动控制高度。我可以控制容器大小,但无法让它响应“显示条目”的数量。谢谢

【问题讨论】:

    标签: r r-markdown dt hugo blogdown


    【解决方案1】:

    您不需要使用widgetframe 包。不要设置fillContainer,它会强制DT表适合容器。默认的DT::datatable(df) 将完全符合您的预期。

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

    ---
    title: A showcase for responsive DT table
    date: '2019-12-17'
    ---
    
    ```{r}
    DT::datatable(head(iris, 20))
    ```
    
    
    

    【讨论】:

    • 感谢@tc-zhang 的建议。不幸的是,这使得表格只有标题行,没有其他数据,没有其他行。
    • Rmd source 希望对您有所帮助。
    • 我仍然有同样的问题,但感谢您的示例 TC Zhang,我现在很确定这是我的 Hugo 主题(即 Academic Hugo)的问题。我仍然得到同样的东西,只有标题行,没有别的。
    • 然后它被拒绝了,因为显然这不是一个错误。
    猜你喜欢
    • 2020-12-23
    • 2019-12-19
    • 2020-07-12
    • 2014-04-30
    • 2021-07-28
    • 2015-12-01
    • 1970-01-01
    • 2017-04-01
    • 2020-12-02
    相关资源
    最近更新 更多