css - Shiny :DT 中的复选框使行高度变化更大

标签 css r shiny dt

我正在 R Shiny DT中实现一些复选框,但是由于某些原因,该复选框似乎包含在比单元格本身更高的框中,所以我最终得到了一个非常不愉快的布局,因为适合相同的行很少页。

有没有办法控制包含复选框或其他组件作为 Prop 的高度,以修复单元格?复选框本身比实际单元格小得多,并且完全适合正常单元格。

如果您想尝试一下,下面是一些重现问题的代码。

library(DT)

ui <- basicPage(
  h2("The mtcars data"),
  DT::dataTableOutput("mytable")
)

server <- function(input, output) {
  
  shinyInput <- function(FUN, len, id, ...) {
    inputs <- character(len)
    for (i in seq_len(len)) {
      inputs[i] <- as.character(FUN(paste0(id, i), ...))
    }
    inputs
  }
  
  mtcars <- data.frame(mtcars, newvar=shinyInput(checkboxInput,nrow(mtcars),"chkbx_",label="",value=TRUE,width=NULL))
  
  output$mytable = DT::renderDataTable({
    DT::datatable(mtcars, escape = FALSE, selection = 'none', options = list(searching = FALSE, ordering  = FALSE))
  })
  
}

shinyApp(ui, server)

最佳答案

您需要修改应用程序的 CSS 才能实现此目的。最快的解决方案是向您的 UI 添加 style 标记:

ui <- basicPage(
  tags$style(HTML("
     td > div.form-group > div.checkbox { 
        margin: 0px; 
     }
                  
     td > div.form-group {
        margin: 0px;
     }             
                  
  ")),
  h2("The mtcars data"),
  DT::dataTableOutput("mytable")
)

这将删除应用程序中表格单元格内所有表单组和复选框的边距。

关于css - Shiny :DT 中的复选框使行高度变化更大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72825311/

相关文章:

mysql - 使用 MSOLAP 提供程序的 mysql 或 R 获取数据

r - Shiny 的服务器。打印 JSON 作为结果输出

r - 具有来自 selectInput 的多个条件的 Shiny R observeEvent

javascript - 我在哪里可以研究有关此进展 'scroll to page' 的信息

css - 如何使 CSS slider 工作

css - 为什么 Twitter Bootstrap 对于样式的变体具有重复的类名称?

css - 防止动态 Shiny CSS 文件相互覆盖

css - Joomla 3 全局配置缺少 css

r - data.table、readr 和 dplyr 之间有冲突吗?

删除 ggplot2 中未使用的 X 轴级别