我正在 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/