如何在Shiny的pickerInput下拉菜单中添加完整列名提示框
解决pickerInput下拉选项悬停显示完整列名的问题
你可以通过pickerInput的choicesOpt参数添加title属性来实现鼠标悬停显示完整列名的功能,具体操作如下:
- 在
choicesOpt列表中,除了保留截断后的content设置,新增title = col_names配置,让每个下拉选项绑定对应的完整列名作为悬停提示。
修改后的完整代码示例:
library(shiny) library(stringr) col_names <- c("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "cccccccccccccccccccccccccccccccccccc") ui <- fluidPage( shinyWidgets::pickerInput( "all_cols_id", NULL, choices = col_names, selected = NULL, options = shinyWidgets::pickerOptions( actionsBox = TRUE, size = 10, selectedTextFormat = "count > 0" ), multiple = TRUE, choicesOpt = list( content = stringr::str_trunc(col_names, width = 22), title = col_names # 绑定完整列名作为悬停提示 ) ) ) server <- function(input, output, session) { } shinyApp(ui, server)
原理说明:
choicesOpt的title参数会为每个下拉选项生成HTML的title属性,当鼠标悬停在选项上时,浏览器会自动显示该属性的内容作为提示框,无需额外编写JS或CSS代码。
内容的提问来源于stack exchange,提问作者user165673
相关产品推荐
相关产品推荐

