R 中 Shiny DT 中 table 容器的动态数量

Dynamic number of table container in Shiny DT in R

我在 shiny R 中的 DT 有问题。 假设我们有以下 table:

我使用代码得到它:

sketch = htmltools::withTags(
  table(
    class = 'display',
    thead(
      tr(
        th(rowspan = 2, 'Name'),
        th(colspan = 2, '2022-06-01'),
        th(colspan = 2, '2022-06-02')
      ),
      tr(
        lapply(rep(c('Length', 'Width'), 2), th)
      )
    )
  )
)
datatable(df, container = sketch, rownames = FALSE)

我希望能够自动动态管理容器数量。 在元素中

lapply (rep (c ('Length', 'Width'), 2), th)

很简单,将2替换为传递的参数,我无法完全管理片段

   tr (
     th (rowspan = 2, 'Name'),
     th (colspan = 2, '2022-06-01'),
     th (colspan = 2, '2022-06-02')
   )

动态添加附加元素,即获取例如

   tr (
     th (rowspan = 2, 'Name'),
     th (colspan = 2, '2022-06-01'),
     th (colspan = 2, '2022-06-02'),
     th (colspan = 2, '2022-06-03'),
     th (colspan = 2, '2022-06-04'),
   )

任何想法如何获得这种效果?非常感谢!

像这样,如果我理解了问题:

library(htmltools)

dates <- as.Date("2022-06-01") + 0:3

withTags(
  tr(
    th(rowspan = 2, 'Name'),
    lapply(dates, function(d) th(colspan = 2, d))
  )
)
# <tr>
#   <th rowspan="2">Name</th>
#   <th colspan="2">2022-06-01</th>
#   <th colspan="2">2022-06-02</th>
#   <th colspan="2">2022-06-03</th>
#   <th colspan="2">2022-06-04</th>
# </tr>