闪亮:如何更改列的背景颜色?

Shiny: How to change a background colour of a column?

我有一个 fluidRow 包含一些小部件。是否可以更改中间列(或该列中的所有小部件)的颜色?

例如:白色列-灰色列-白色列

我认为您可以为元素添加样式;像这样:

column(3, style = "background-color:#4d3a7d;", ...)

希望对您有所帮助

这也可以通过 shinyjs 包来实现。您可以将 "id" 分配给您的列,并为 add/remove/toggle 分配 CSS class 以响应 UI。修改 'shinyjs' 文档中的示例:

if (interactive()) {
  library(shiny)
  library(shinyjs)
  shinyApp(
    ui = fluidPage(
      useShinyjs(), # Set up shinyjs

      inlineCSS(list(.red = "background: red",
                     .blue = "background: blue")),
      fluidRow(
        column(3, id = "col1",
         actionButton("btn1", "Click me"),
        ),
        column(6, id = "col2",
               actionButton("btn2", "Click me too")
        )
      )
    ),
    server = function(input, output) {
      observeEvent(input$btn1, {
        toggleClass("col1", "red")
      })
      observeEvent(input$btn2, {
        toggleClass("col2", "blue")
    })
    }
  )
}