如何在Rmarkdown HTML输出中为kableExtra表格添加复制到剪贴板的按钮
解决方法
在调用kable()生成HTML表格时,通过table.attr参数为表格指定和按钮代码匹配的ID即可,具体修改如下:
library(dplyr) library(kableExtra) df<-data.frame(Flavor=c("Raspberry","Lemonade","Raspberry","Lemonade"), Color=c("Blue","Pink","Red","Yellow")) table_out<-df%>% # 新增table.attr参数,给表格设置id为table_out,和按钮引用的ID对应 kable("html",align = 'clc', table.attr = "id='table_out'")%>% kable_styling(full_width = F,position="left",bootstrap_options = c("striped","bordered"))%>% add_header_above(c("Colorful Stuff"=2)) table_out
如果你已经生成了kableExtra表格对象,不想修改kable()的参数,也可以用下面的代码给已有的表格对象追加ID:
library(htmltools) table_out <- tagAppendAttributes(table_out, id = "table_out")
上述修改完成后,你原本编写的JS复制函数、按钮代码不需要做任何调整,渲染HTML后点击按钮即可正常复制表格内容到剪贴板。
内容的提问来源于stack exchange,提问作者Pake
相关产品推荐
相关产品推荐

