为何UI5的sap.m.Text控件将`\n`视为空白字符?
解决sap.m.Text保留空白字符与换行的问题
嗨,我来帮你搞定这个sap.m.Text的显示问题~
默认情况下,sap.m.Text会把文本里的多个空白字符(包括换行符)合并成单个空格,所以你看到的是test 123。要让test \n\n 123里的换行和空格按照预期显示,你需要调整两个关键属性:
wrapping属性设为true:这个属性控制文本是否自动换行,同时它也决定了换行符(\r\n、\n\r、\r、\n)是否会被可视化——只有当wrapping=true时,这些换行符才会被解析成实际的换行显示,设为false的话换行符会被忽略合并。renderWhitespace属性设为true:如果你的文本里有多个连续空格或者制表符(\t),这个属性可以让它们保留原样,而不会被合并成单个空格。
代码示例
XML视图写法:
<Text text="test \n\n 123" wrapping="true" renderWhitespace="true" />
JavaScript写法:
new sap.m.Text({ text: "test \n\n 123", wrapping: true, renderWhitespace: true });
设置好这两个属性后,你的sap.m.Text就会显示成:
test
123
如果你是想直接在屏幕上显示test \n\n 123(也就是把\n作为可见的文本字符),那需要把文本里的反斜杠转义,也就是写成"test \\n\\n 123",这样控件就会把\n当作普通字符串渲染啦。
内容的提问来源于stack exchange,提问作者Tina Chen
相关产品推荐
相关产品推荐

