编辑 R 闪亮数据表单元格时,值的字体颜色为白色。如何将可编辑框中的字体颜色更改为黑色

问题描述 投票:0回答:1

我正在编辑数据表单元格。当我单击单元格编辑值时,我看不到该值,因为字体颜色为白色,与编辑框的背景相同。这是一个屏幕截图,显示了编辑框单击时的样子:

这是我的脚本:

library(shiny)
library(DT)



# Define the UI
ui <- fluidPage(
 
  DTOutput('table')
)

# Define the server
server <- function(input, output) {
  x = reactiveValues(df3 = NULL)
  
  # Create a reactive value to store the edited data frame
  edited_data <- reactive({
  data.table::data.table(
      A = c(1, 2, 3),
      B = c(4, 5, 6),
      C = c(7, 8, 9)
    )
  })
  
  # Render the table with editable cells
  output$table <- renderDT(edited_data(), editable =  "cell", server = TRUE) 
  
  proxytab = dataTableProxy('table')
  # observe(View(x$df3))
  observeEvent(input$table_cell_edit, {
    x$df3 <- edited_data()
    info = input$table_cell_edit
    str(info)  # check what info looks like (a data frame of 3 columns)
    x$df3 <- editData(x$df3, info)
    
    tabdisplay <-  x$df3 
    
    
    
    replaceData(proxytab, tabdisplay, resetPaging = FALSE)
  })
}

# Run the app
shinyApp(ui, server)

当单元格处于编辑模式时,如何更改框中值的字体颜色?

r shiny colors edit dt
1个回答
0
投票

我遇到了类似的情况,并使用以下代码恢复到旧的数据表样式。

/* Update to default DT row and text selected color */
document.documentElement.style.setProperty('--dt-row-selected', '#a6b4cd');
document.documentElement.style.setProperty('--dt-row-selected-text', '#333');

您可以将其放入

.js
脚本中并在 ui 中获取它(推荐),或者像这样直接将其添加到 ui 中。

# sourcing
ui <- fluidPage(
  withTags(
    header(script(src = 'js/script.js'))
  ),
 DTOutput('table')
)

# inline
ui <- fluidPage(
  withTags(
    header(
      script(HTML(
       "document.documentElement.style.setProperty('--dt-row-selected', '#a6b4cd');
        document.documentElement.style.setProperty('--dt-row-selected-text', '#333');"
       ))  
    )
  ),
 DTOutput('table')
)
© www.soinside.com 2019 - 2024. All rights reserved.