使用 renderDataTable 和 Shiny 在 processWidget(instance) 中发出警告
Warning in processWidget(instance) using renderDataTable and Shiny
我每次 运行 我的 shiny
应用程序时都会收到此警告。
Warning in processWidget(instance) : renderDataTable ignores ...
arguments when expr yields a datatable object; see ?renderDataTable
这是一个可重现的例子:
library(shiny)
library(DT)
ui <- fluidPage(
titlePanel("My app"),
sidebarLayout(
sidebarPanel(
),
mainPanel(
dataTableOutput("table")
)
)
)
server <- function(input, output, session) {
output$table <- renderDataTable({
datatable(
mtcars,
filter = list(position = 'top', clear = FALSE),
selection = "none", #this is to avoid select rows if you click on the rows
rownames = FALSE,
extensions = 'Buttons',
options = list(
scrollX = TRUE,
autoWidth = TRUE,
dom = 'Blrtip',
buttons =
list('copy', 'print', list(
extend = 'collection',
buttons = list(
list(extend = 'csv', filename = "file", title = NULL),
list(extend = 'excel', filename = "file", title = NULL)),
text = 'Download'
)),
lengthMenu = list(c(10, 30, 50, -1),
c('10', '30', '50', 'All'))
),
class = "display"
)
},rownames=FALSE)
}
shinyApp(ui, server)
我检查了这个 但我最后没有使用参数 filter
。我在 DT::datatable
中使用它。更重要的是,如果我评论这一行 (filter = list(position = 'top', clear = FALSE)
),我仍然会收到相同的警告。所以一定是另有原因。
有人知道怎么解决吗?
提前致谢
rownames
不是 DT::renderDataTable()
的参数的一部分,因此它被传入此函数的 ...
中。但是 DT::renderDataTable()
的文档说:
...
[is] ignored when expr returns a table widget, and passed as additional arguments to datatable() when expr returns a data object
在这里,您在 renderDataTable()
中创建了一个 datatable
,因此 ...
(因此 rownames = FALSE
)将被忽略。这个参数在这里没有用,所以你可以删除 rownames = FALSE
并且它会删除警告。
我每次 运行 我的 shiny
应用程序时都会收到此警告。
Warning in processWidget(instance) : renderDataTable ignores ... arguments when expr yields a datatable object; see ?renderDataTable
这是一个可重现的例子:
library(shiny)
library(DT)
ui <- fluidPage(
titlePanel("My app"),
sidebarLayout(
sidebarPanel(
),
mainPanel(
dataTableOutput("table")
)
)
)
server <- function(input, output, session) {
output$table <- renderDataTable({
datatable(
mtcars,
filter = list(position = 'top', clear = FALSE),
selection = "none", #this is to avoid select rows if you click on the rows
rownames = FALSE,
extensions = 'Buttons',
options = list(
scrollX = TRUE,
autoWidth = TRUE,
dom = 'Blrtip',
buttons =
list('copy', 'print', list(
extend = 'collection',
buttons = list(
list(extend = 'csv', filename = "file", title = NULL),
list(extend = 'excel', filename = "file", title = NULL)),
text = 'Download'
)),
lengthMenu = list(c(10, 30, 50, -1),
c('10', '30', '50', 'All'))
),
class = "display"
)
},rownames=FALSE)
}
shinyApp(ui, server)
我检查了这个 filter
。我在 DT::datatable
中使用它。更重要的是,如果我评论这一行 (filter = list(position = 'top', clear = FALSE)
),我仍然会收到相同的警告。所以一定是另有原因。
有人知道怎么解决吗?
提前致谢
rownames
不是 DT::renderDataTable()
的参数的一部分,因此它被传入此函数的 ...
中。但是 DT::renderDataTable()
的文档说:
...
[is] ignored when expr returns a table widget, and passed as additional arguments to datatable() when expr returns a data object
在这里,您在 renderDataTable()
中创建了一个 datatable
,因此 ...
(因此 rownames = FALSE
)将被忽略。这个参数在这里没有用,所以你可以删除 rownames = FALSE
并且它会删除警告。