代码:
ComboBox<String> comboBox = new ComboBox<>("TEST-Combo");
comboBox.setCaptionAsHtml(true);
comboBox.setItemCaptionGenerator(item -> "<b>" + item + "</b>");
comboBox.setTextInputAllowed(false);
comboBox.setItems("xxx", "<i>yyy</i>", "<b>zzz</b>");
重用:
是Vaadin Bug还是我的失败?
编辑
Vaadin版本8.5.2
答案 0 :(得分:3)
方法
comboBox.setCaptionAsHtml(true)
不影响物品。它设置ComboBox字幕的模式,在您的情况下为“ TEST-Combo” 。
在Vaadin 8中,ComboBox中的项目目前不支持HTML。
但是有comboBox.setStyleGenerator()
允许您在CSS中设置项目特定的样式。即如果您要设置粗体字体,则可以设置类似
comboBox.setStyleGenerator(item->“ bold-font”);
和主题SCSS混入
.bold-font {
font-weight: bold;
}
答案 1 :(得分:0)
这是一项缺少的功能。为了帮助防止XSS漏洞,项目标题显示为纯文本而不是HTML。 ticket是关于可以对其进行配置以将其内容显示为HTML的方法,但是它已经很长时间没有使用,因此不太可能很快被修复。
答案 2 :(得分:0)
您可以使用自定义渲染器(在您的情况下为HtmlRenderer
)
ComboBox<String> comboBox = new ComboBox<>();
comboBox.setRenderer( new HtmlRenderer() );
这使您的组合项目以HTML呈现
此处介绍了更复杂的渲染器: https://vaadin.com/components/vaadin-combo-box/java-examples/using-components