我正在执行下面 DT github 页面上发布的一个非常小的 renderDataTable
示例
http://rstudio.github.io/DT/shiny.html
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 构建一些 Shiny 的应用程序后,我开始注意到这个问题。在安装 Flexdashboard 包之前,一切都像往常一样工作,没有问题,在安装 Flexdashboard 之后,我在使用
renderDataTable
函数时注意到数据表存在这个问题 最佳答案
这个问题是关于在使用 renderdatatable
函数时无法看到数据表的内容。
如果用户在他们的常规 Shiny 应用程序中使用 renderdatatable
函数从 Shiny 切换到 flexdashboard
尝试运行使用 flexdashboard
函数的 renderdatatable
应用程序并切换回 Shiny ,则会发生这种情况。flexdashboard
库 1) 不会通过 renderdatatable
函数呈现数据表,至少在今天它没有 2) 此外,flexdashboard
库破坏了数据表包中的一些功能,并且当用户尝试从flexdashboard
,用户可能会发现之前工作的 renderdatatable
函数可能无法准确呈现数据表。
根据 JJ Allaire 的说法,解决方案是将这两行添加到您 Shiny 的
options(DT.fillContainer = FALSE)
options(DT.autoHideNavigation = FALSE)
这将清除
flexdashboard
在 datatable
包中创建的所有钩子(Hook),并且数据表应该像以前在 Shiny 中一样正常呈现。关于Shiny 中的 renderDataTable 无法正确渲染输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37381206/