首页 > 解决方案 > 在 Shiny 上下文中编辑 DT 对象时的外观问题

问题描述

在渲染 DT 对象时使用editable = cell时,UI 中的编辑区域比原始单元格更宽,导致相应列宽的增加抵消了其他列的宽度减小:有没有办法防止这种情况?设置时editable = 'row'不会观察到此行为。但是,一旦一行处于编辑模式,你如何关闭它?我在一个单元格中尝试了 ENTER,亚太经社会,......没有任何成功。

下面是重现上述化妆品“问题”的基础示例:

library(shiny)
library(DT)

shinyApp(
  ui = fluidPage(
    title = 'Double-click to edit table cells',
    
    fluidRow(
      column(width = 12, 
             h1('Edited Table (cell)'),
             hr(),
             DTOutput("x1"),
             br(),
             h1('Edited Table (row)'),
             hr(),
             DTOutput("x2")
      )
    )
  ),
  
  server = function(input, output, session) {
    options(DT.options = list(pageLength = 5))    
    dat <- iris    
    output$x1 <- renderDT(dat, editable = 'cell', server = FALSE)    
    observe(str(input$x1_cell_edit))    
    output$x2 <- renderDT(dat, editable = 'row', server = FALSE)
  }
)

标签: rshinydt

解决方案


推荐阅读