如何在flex textarea中进行文本换行

时间:2008-11-24 17:33:31

标签: flex actionscript-3 textarea

我有一个字符串

var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s; //.text has \n, not a new line

我希望将其放入文本区域,但忽略新的行字符。如何确保文本在分配时打破我想要的位置?

9 个答案:

答案 0 :(得分:44)

在flex上,虽然编码\nmxml或任何xml上运行良好以定义一行,但只需使用
行实体。

我的意思是:

lazy
fox

给我们

lazy<br />
fox

答案 1 :(得分:9)

不是{\ n}而是{'\ n'}

答案 2 :(得分:5)

@radekg

OP指的是用MXML语法编写的文本字符串:

<mx:TextArea text="This is a &#13; new line" />

答案 3 :(得分:3)

尝试

"This is a line {\n} This is another line."

或者,使用htmlText属性并使用

"This is a line <br> This is another line." 

答案 4 :(得分:0)

它应该起作用或者至少&lt;如果你使用的是htmlText,那么br \> (没有“br”之前的空格)应该可以工作。

我使用XML来填充TextArea,因为我不完全确定如何在XML中使用HTML(他们提到我应该用CDATA标签包装它)但我只是做了一个简单的

txt.replace("\\n", "<br/>");

也许有更好的方法可以解决这个问题,但这很好用。

编辑:我在“br”之后有一个空格

答案 5 :(得分:0)

我刚刚测试了以下代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
    creationComplete="onComplete();">
    <mx:Script>
        <![CDATA[
            private function onComplete():void {
                var s:String = "This is a line \n This is another line.";
                this.txtHolder.text = s;
            }
        ]]>
    </mx:Script>
    <mx:TextArea id="txtHolder" />
</mx:WindowedApplication>

和mx:Text

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
    creationComplete="onComplete();">
    <mx:Script>
        <![CDATA[
            private function onComplete():void {
                var s:String = "This is a line \n This is another line.";
                this.txtHolder.text = s;
            }
        ]]>
    </mx:Script>
    <mx:Text id="txtHolder" />
</mx:WindowedApplication>

两者都运转得很好。也许你正在使用mx:TextInput或mx:Label?

答案 6 :(得分:0)

如果您尝试在上一行旁边放置行,请在Flex中。然后将它附加到上一行。

var line:String="Hello";
textarea1.text += line;

现在textarea1是您要在其中打印此字符串的textarea,它将附加到它。

答案 7 :(得分:0)

我刚才这样做了,

List<?>

谢谢你Tolgahan ALBAYRAK

答案 8 :(得分:0)

你应该这样做:

Database First

就是这样。