R Shiny:如何让prettyCheckboxGroup的长选项文本自动换行?
解决Shiny中prettyCheckboxGroup长文本换行问题
prettyCheckboxGroup默认通过CSS强制选项文本不换行,这就是长文本超出侧边栏范围的原因。你可以通过自定义CSS覆盖这个默认样式,实现文本自动换行:
具体实现
在UI中添加自定义CSS样式,针对目标组件的选项文本设置允许换行:
library(shiny) library(shinyWidgets) ui <- fluidPage( # 自定义CSS覆盖默认样式 tags$style(HTML(" #boxpick .pretty .state label { white-space: normal; word-wrap: break-word; } ")), sidebarPanel( width = 2, uiOutput('boxpick') ) ) server<- function(input, output) { output$boxpick <- renderUI( prettyCheckboxGroup('boxpick', 'Pick an item:', choices= c('really really long', 'really really really really long', 'really really really really really really really really long') ) ) } shinyApp(ui,server)
样式说明
white-space: normal:取消组件默认的"不换行"设置,让文本随容器宽度自动换行word-wrap: break-word:确保超长单词也能被拆分换行,避免单个单词撑破侧边栏容器
设置完成后,选项文本会根据侧边栏宽度自动换行,和checkboxGroupInput的默认表现一致。
内容的提问来源于stack exchange,提问作者r0bt
相关产品推荐
相关产品推荐

