[英]Render DT datatable smoothly in R Shiny
当DT数据表最初在闪亮的应用程序中呈现时,它似乎从顶部开始增长,并将所有其他元素向下推入页面。 有没有一种方法可以使数据表更加平滑,以免其他元素像这样被推开?
您可以在示例代码中看到h1首先在屏幕顶部渲染,然后在数据表渲染时向下推。 我尝试过为表格创建一个具有最小高度的div,但是它没有用。
library(shiny)
library(DT)
ui <- fluidPage(
DT::dataTableOutput('table'),
h1('placeholder text'))
server <- function(input, output, session) {
my_data <-
data.frame(
a = rnorm(5000),
b = rnorm(5000),
c = rnorm(5000),
d = rnorm(5000)
)
output$table <- DT::renderDataTable({
datatable(my_data, options = list(pageLength = 25))
})
}
shinyApp(ui, server)
DT包中有一些不错的功能,可以在初始渲染后更改数据时平滑地重新加载数据(使用replaceData())。 但是,我似乎无法一开始就平滑地呈现数据。
因此,您可以定义一个以像素为单位的高度,但可能与您在服务器上设置的pageLength
参数不匹配。 我认为,如果要控制页面渲染中的高度,最好的方法是定义以像素为单位的高度,而不是页面长度。 这样,在加载页面和呈现表格时,将强制高度:
library(shiny)
library(DT)
ui <- fluidPage(
DT::dataTableOutput('table', height = "500px"),
h1('placeholder text'))
server <- function(input, output, session) {
my_data <-
data.frame(
a = rnorm(5000),
b = rnorm(5000),
c = rnorm(5000),
d = rnorm(5000)
)
output$table <- DT::renderDataTable({
datatable(my_data)
})
}
shinyApp(ui, server)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.