Остановить скачкообразное изменение ширины столбца Shiny DT при фильтрации столбца фактора

#r #shiny #dt

#r #shiny #dt

Вопрос:

Столбец Species в этом примере является factor, который DT помогает фильтровать с помощью виджета, подобного selectize. Единственная неприятность — щелчок в поле фильтра приводит к скачку ширины столбца. Кто-нибудь знает, как подавить это поведение?

 require(shiny)
require(DT)

shinyApp(
  ui = fluidPage(DTOutput("data_tbl")), 
  server = function(input, output, session) {
    output$data_tbl <- renderDT(filter = "top", iris, 
                                options = list(autoWidth = FALSE, bAutoWidth = FALSE))
  }
)
  

Ответ №1:

autoWidth=TRUE решит вашу проблему.

 shinyApp(
  ui = fluidPage(DTOutput("data_tbl")), 
  server = function(input, output, session) {
    output$data_tbl <- renderDT(iris, filter = "top", 
                                options = list(autoWidth = TRUE, bAutoWidth = FALSE))
  }
)