更新数据时如何保留DT选项
How to retain DT Options when updating data
我有一个非常简单的闪亮应用程序,我想在点击更新按钮后保留 autoWidth = TRUE
。出于某种原因,我在更新后得到了一个全页宽的 DT。我错过了什么?
library(tidyverse)
library(shiny)
ui <- fluidPage(
titlePanel("Iris button"),
sidebarLayout(
sidebarPanel(
actionButton("UpdateButton", "Update!")
),
# Show DT
mainPanel(
DTOutput("dt.iris.10")
)
)
)
server <- function(input, output) {
dat.iris.10 <- iris %>%
slice(1:10) %>%
select(Sepal.Width)
dat.react <- reactiveValues()
dat.react$Data <- dat.iris.10
output$dt.iris.10 <- renderDT(
datatable(dat.react$Data,
options = list(autoWidth = TRUE)
), server = FALSE
)
observeEvent(input$UpdateButton, {
dat.react$Data <- dat.react$Data * 10
}
)
}
# Run the application
shinyApp(ui = ui, server = server)
您应该使用选项 scrollX = TRUE
。
试试这个
output$dt.iris.10 <- renderDT(
datatable(dat.react$Data
, options = list(autoWidth = TRUE
, scrollX=TRUE
)
), server = FALSE
)
我有一个非常简单的闪亮应用程序,我想在点击更新按钮后保留 autoWidth = TRUE
。出于某种原因,我在更新后得到了一个全页宽的 DT。我错过了什么?
library(tidyverse)
library(shiny)
ui <- fluidPage(
titlePanel("Iris button"),
sidebarLayout(
sidebarPanel(
actionButton("UpdateButton", "Update!")
),
# Show DT
mainPanel(
DTOutput("dt.iris.10")
)
)
)
server <- function(input, output) {
dat.iris.10 <- iris %>%
slice(1:10) %>%
select(Sepal.Width)
dat.react <- reactiveValues()
dat.react$Data <- dat.iris.10
output$dt.iris.10 <- renderDT(
datatable(dat.react$Data,
options = list(autoWidth = TRUE)
), server = FALSE
)
observeEvent(input$UpdateButton, {
dat.react$Data <- dat.react$Data * 10
}
)
}
# Run the application
shinyApp(ui = ui, server = server)
您应该使用选项 scrollX = TRUE
。
试试这个
output$dt.iris.10 <- renderDT(
datatable(dat.react$Data
, options = list(autoWidth = TRUE
, scrollX=TRUE
)
), server = FALSE
)