FLEX 中的换行问题

转自:http://bbs.9ria.com/forum.php?mod=viewthread&tid=159340&from

 

做了个测试发现TextInput 、TextArea 换行在标签中写和在代码中写是不一样的
TextInput 、TextArea 换行:
1.在标签中的换行:
在标签中换行 的换行符是 
 而不是 \n 或 \r;
例:
<s:TextArea id="tta" text="aaa &#xd;bbb \n ccc \r eee"/>
< mx:TextInput id="mxtxt" height="100" text="aaa &#xd;bbb \n ccc \r eee"/> 你可以试一下
这里显示的是
aaa
bbb \n ccc \r eee
而不是
aaa &#xd;bbb
ccc
eee

2.在代码中赋值时的换行则相反,\n 或 \r有效,而 却无效
例:
<fx:Script>
<![CDATA[
private function showText():void
{
tta.text = "aaa &#xd; bbb \n ccc \r eee";
mxtxt.text = "aaa &#xd; bbb \n ccc \r eee";
}
]]>
</fx:Script>

< s:TextArea id="tta"/>
< mx:TextInput id="mxtxt"/>

显示结果正好相反

这里要注意的是在as3里
\n 和 \r 都是换行
而别的语言里会把 \n\r 的组合视为换行,所以有时候后台发来的数据在后台是换一行而在前台却是换两行,此时要把\r给替换成""就好了

另外:
TextField里的情况和第二种情况一样

你可能感兴趣的:(FLEX 中的换行问题)