как сделать разрыв строки текста в flex textarea - PullRequest
25 голосов
/ 24 ноября 2008

У меня есть строка

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

и я хочу поместить его в текстовую область, но символ новой строки игнорируется. Как я могу убедиться, что текст разрывается там, где я хочу, когда он назначен?

Ответы [ 9 ]

44 голосов
/ 04 мая 2009

На flex, в то время как кодирование \n хорошо работает на mxml или любом xml для определения линии, просто используйте 
 объект строки.

Я имею в виду:

lazy
fox

дает нам

lazy<br />
fox
9 голосов
/ 05 октября 2009

не {\ n}, а {'\ n'}

5 голосов
/ 25 сентября 2010

@ radekg

ОП ссылается на текстовую строку, написанную в синтаксисе MXML:

<mx:TextArea text="This is a &#13; new line" />
3 голосов
/ 24 ноября 2008

Попробуйте

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

В качестве альтернативы используйте атрибут htmlText и используйте

"This is a line <br> This is another line." 
0 голосов
/ 20 ноября 2016

Вы должны сделать:

var s:String = "This is a line" + "\n" + "This is another line.";
this.txtHolder.text = s;

Вот и все.

0 голосов
/ 10 июня 2015

Я просто сделал это следующим образом,

protected function addToTextArea(array:Array):void
            {
                textArea.text = "Array Elements are:";
                for(var k:int = 0; k < array.length; k=k+1)
                 {
                    textArea.text = textArea.text +"\n"+ array[k];
                 }
            }

Спасибо, Толгахан АЛБАЙРАК

0 голосов
/ 24 декабря 2013

В Flex, если вы пытаетесь разместить строку рядом с предыдущей строкой. Затем просто добавьте его к предыдущей строке.

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

Теперь к ней добавится textarea1, которая является вашей текстовой областью, в которой вы хотите напечатать эту строку.

0 голосов
/ 18 июня 2009

Я только что проверил следующий код:

<?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?

0 голосов
/ 08 апреля 2009

Должно работать или, по крайней мере,
(без пробелов перед "br") должно работать, если вы используете htmlText.

Я использовал XML для заполнения TextArea и, поскольку я не совсем уверен, как использовать HTML внутри XML (они упоминают, что я должен обернуть его тегами CDATA), но я просто сделал

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

Возможно, есть лучший способ сделать это, но это прекрасно работает.

РЕДАКТИРОВАТЬ: у меня был пробел после "br"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...