如何在Vaadin Text Area中实现文本换行?默认样式为white-space: nowrap
Vaadin文本区域自动换行问题解决办法
Vaadin Text Area组件默认带有white-space: nowrap样式,导致输入的文本无法自动换行。以下是几种可行的解决方式:
方法一:内联样式直接覆盖
直接在组件的style属性中添加white-space: pre-wrap,强制文本自动换行并保留输入的换行符:
<div class="text-sm margin-bottom-xs" id="abcDiv"> <div> <p class="padding-bottom-xs label_styles">Message</p> <vaadin-text-area id="abc" style="border: 1px solid black; padding: 1em; width:100%; white-space: pre-wrap;"></vaadin-text-area> </div> </div>
方法二:全局CSS类(复用场景)
如果需要给多个Vaadin Text Area组件应用换行样式,可定义全局CSS类:
.text-area-auto-wrap { white-space: pre-wrap !important; }
然后给组件添加该类:
<vaadin-text-area id="abc" class="text-area-auto-wrap" style="border: 1px solid black; padding: 1em; width:100%"></vaadin-text-area>
方法三:精准定位Shadow DOM元素(Vaadin 20+)
Vaadin组件的内部样式封装在Shadow DOM中,可通过::part选择器直接修改输入字段的样式,无需使用!important:
vaadin-text-area::part(input-field) { white-space: pre-wrap; }
将这段CSS添加到全局样式表中,所有Vaadin Text Area组件都会自动应用换行效果。
内容的提问来源于stack exchange,提问作者SSL
相关产品推荐
相关产品推荐

