Masalah yang mungkin: Hasil yang tidak dijangka apabila menggunakan 'warna latar belakang' dengan 'DT'
P粉983021177
P粉983021177 2024-03-30 09:30:22
0
1
486

Diubah sejak versi v0.26 起,R shiny 中使用的 DT 包的 background-color. Adakah ini masalah yang sama untuk anda dan saya? Adakah pepijat yang menukar warna latar belakang tidak lagi berfungsi? !

library(shiny)

testUI <- function(id) {
  tagList(
    DT::dataTableOutput(NS(id, "mytable")),
    verbatimTextOutput(NS(id, "selected"))
  )
}

testServer <- function(id) {
  moduleServer(id, function(input,output,session,data) {
    output$mytable <- DT::renderDataTable({
      mtcars
    }, selection = list(mode = "multiple", target = "row"))

    output$selected <- renderPrint(
      input$mytable_rows_selected  # Caution: The prefix must match the id of my namespace
    )

  })
}

testApp <- function(install_version = c("v0.25", "v0.26"), change_background_color = FALSE) {

  stopifnot(is.logical(change_background_color))

  install_version <- match.arg(install_version)

  if (install_version == "v0.25") {
    remotes::install_github("rstudio/DT", ref = "v0.25", force = TRUE, upgrade = TRUE)
  } else {
    remotes::install_github("rstudio/DT", ref = "v0.26", force = TRUE, upgrade = TRUE)
  }

  ui <- fluidPage(

    if (isTRUE(change_background_color)) {
      tags$style(HTML('table.dataTable tr.selected td, table.dataTable td.selected {background-color: #FC8995 !important;}'))  # red color
    },

    testUI("test")
  )
  server <- function(input, output, session) {
    testServer("test")
  }
  shinyApp(ui, server)
}

DT versi v0.25 tanpa atau dengan menukar warna latar belakang:

testApp(install_version = "v0.25", change_background_color = FALSE)
testApp(install_version = "v0.25", change_background_color = TRUE)

DT versi v0.26 tanpa menukar warna latar belakang dan menukar warna latar belakang:

testApp(install_version = "v0.26", change_background_color = FALSE)
testApp(install_version = "v0.26", change_background_color = TRUE)

Ringkasan:

  • Lalai background-color 真的从版本 v0.25 更改为 v0.26 untuk baris yang dipilih?
  • Mengapa
  • tidak lagi berfungsi di v0.26 版本中更改默认 background-color?

P粉983021177
P粉983021177

membalas semua(1)
P粉299174094

Warna latar belakang baris yang dipilih dalam versi baharu tidak ditetapkan menggunakan atribut background-color: ia ditetapkan menggunakan atribut box-shadow. Begini cara menukar warna latar belakang baris yang dipilih:

library(shiny)
library(DT)

css 
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan