flex textinput和textarea换行符

来源:互联网 发布:单片机延时1s程序汇编 编辑:程序博客网 时间:2024/06/08 14:07

做了个测试发现TextInput 、TextArea 换行在标签中写和在代码中写是不一样的
TextInput 、TextArea 换行
1.在标签中的换行
在标签中换行换行符是
  而不是 \n 或 \r;若“text={str}”,变量绑定时,换行符也是


例:
<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里的情况和第二种情况一样

0 0