我正在执行一个非常小的 renderDataTable
示例,该示例发布在http://rstudio.github.io/DT/shiny.html下面的DT github页面上
library(shiny)
shinyApp(
ui = fluidPage(DT::dataTableOutput('tbl')),
server = function(input, output) {
output$tbl = DT::renderDataTable(
iris, options = list(lengthChange = FALSE)
)
}
)
但是,我在执行此代码后看到的输出是垃圾,列名称列在一行中没有空格 .
我在卸载DT软件包并重新安装后尝试了这个
devtools::install_github('rstudio/DT')
什么都没有改变,结果仍然相同 . 我不明白为什么DT :: renderDataTable()不起作用 . 非常感谢任何建议 .
-------------更新----------------
在我开始使用Flexdashboard构建一些shinyapps后,我开始注意到这个问题 . 在安装Flexdashboard软件包之前,一切都正常工作,没有问题,安装Flexdashboard后我在使用 renderDataTable
函数时发现了数据表的这个问题
1 回答
此问题是在使用
renderdatatable
函数时无法查看数据表的内容 .如果用户在常规闪亮应用程序中使用
renderdatatable
函数从闪亮到flexdashboard
尝试运行使用renderdatatable
功能的flexdashboard
应用并切换回闪亮,则会发生这种情况 .flexdashboard
库1)不会通过renderdatatable
函数呈现数据表,至少从今天开始它没有2)此外,flexdashboard
库破坏了数据表包中的一些功能,当用户试图切换回常规Shiny时flexdashboard
,用户可能会发现之前工作的renderdatatable
函数可能无法准确呈现数据表 .根据JJ Allaire的说法,解决方案是在你的光泽中添加这两条线
这将清除在
datatable
包中创建的所有钩子flexdashboard
,并且数据表应该像以前一样在Shiny中正常呈现 .