【问题标题】:Shiny selectInput not highlighting choices blue on hover闪亮的 selectInput 在悬停时未突出显示蓝色的选择
【发布时间】:2021-08-26 00:21:48
【问题描述】:

由于某种原因,selectInput() 在悬停或使用向上和向下箭头导航时不再突出显示选项。如何重新启用此行为?

这是我看到的:

这是我希望看到的:

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    无需使用pickerInput()。这有效:

    library(shiny)
    
    css <- "
    .selectize-item {
      color: black;
    }
    .selectize-option {
      color: black;
    }
    .selectize-option:hover {
      background-color: #337AB7;
      color: white
    }
    
    "
    
    render <- I("
    {
      item: function(item, escape) { 
        return '<div class=\"item selectize-item\">' + escape(item.label) + '</div>'; 
      },
      option: function(item, escape) {
        return '<div class=\"option selectize-option\">' + escape(item.label) + '</div>';
      }
    }")
    
    
    shinyApp(
      ui = fluidPage(
        tags$head(tags$style(HTML(css))),
        selectizeInput(
          "input",
          "Choose",
          choices = c("a", "b", "c"),
          options = list(render = render)
        )
      ),
      server = function(input, output) {
      }
    )
    

    【讨论】:

      【解决方案2】:

      你可以从shinyWidgets使用pickerInput

      library(shiny)
      library(shinyWidgets)
      
      ui <- fluidPage(
        pickerInput('id', 'Select Input', letters[1:3])
      )
      server <- function(input, output) {}
      
      shinyApp(ui, server)
      

      【讨论】:

      • 您是否看到与 selectInput 相同的行为?是什么改变导致了这个?我不认为这是闪亮包的变化,因为我使用的是相同的包版本。我实际上已经意识到 pickerInput 似乎没有这种行为。但是对于有很多 selectInputs 的应用程序,我宁愿不必将它们全部转换为 pickerInput。
      • 我看到选项以浅灰色突出显示。我不知道这是否总是如此,或者最近发生了什么变化。如果您不想更改为 pickerInput,那么添加一些 css 可能有助于使用 selectInput 为所选选项着色。
      猜你喜欢
      • 1970-01-01
      • 2019-02-15
      • 2017-03-23
      • 2021-07-25
      • 2017-12-15
      • 2018-11-30
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      相关资源
      最近更新 更多