我试图在一个Shiny应用程序(similar as here to the rownames/body)中向DataTables页脚添加上标。
library(shiny)
library(DT)
ui <- fluidPage(dataTableOutput("table"))
server <- function(input, output) {
output$table <- renderDataTable({
sketch <- htmltools::withTags(table(
tableFooter(c(("Footer<sup>1</sup>"),
"Footer<sup>2</sup>"))
))
data <- datatable(data.frame(c(1, 2),
row.names = c("A<sub>1</sub>",
"A<sub>2</sub>")),
rownames = TRUE,
container = sketch,
escape = FALSE)
})
}
shinyApp(ui = ui, server = server)
但是,标记不是呈现为supscript,而是按字面意思打印:
看一下sketch
,可以看出大于/小于符号被转换成了它们的HTML字符实体:
> sketch
<table>
<tfoot>
<tr>
<th>Footer<sup>1</sup></th>
<th>Footer<sup>2</sup></th>
</tr>
</tfoot>
</table>
我试图用\
和\\
来转义它们,但没有成功,而htmltool's manual on withTags()
是相当稀疏的。那么,如何才能转义更大/更小的符号来将它们保留为标签呢?已经谢谢你了!:)
2条答案
按热度按时间z0qdvdin1#
最好在
tableFooter
函数中使用额外的escape
参数。9njqaruj2#
我们可以使用
tags
代替withtags
: