有几种方法可以构建此列表。根据应用程序的目的以及如果您想运行控制 HTML 标记的其他逻辑,您可以使用children
元素的属性编写列表项ul$children
或一次性运行它。
子元素的标记可以使用基本的应用函数来完成(即,lapply
可能是更好的选择,因为您想返回一个闪亮的标签对象)。或者,purrr
包装很好,速度更快。但是,如果您要渲染数百个元素,我会考虑预先生成标记。
使用...$children
方法。这是生成 html 的方法。
library(htmltools)
warns <- c("warning 1", "warning 2", "warning 3", "warning 4")
ul <- tags$ul()
ul$children <- lapply(seq_len(length(warns)), function(index) {
tags$li(warns[index])
})
如果您想在一次运行中生成标记,您可以这样做。
library(htmltools)
warns <- c("warning 1", "warning 2", "warning 3", "warning 4")
ul <- tags$ul(
lapply(seq_len(length(warns)), function(index) {
tags$li(warns[index])
})
)
编辑:我忘记使用purrr
包添加示例
# using ul$children
warns <- c("warning 1", "warning 2", "warning 3", "warning 4")
ul <- tags$ul()
ul$children <- purrr::map(warns, function(.x) tags$li(.x))
# generating everything at once
warns <- c("warning 1", "warning 2", "warning 3", "warning 4")
ul <- tags$ul(
purrr::map(warns, function(.x) tags$li(.x))
)