Подтвердить что ты не робот

Как сделать разрыв строки текста в flex textarea

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

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

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

4b9b3361

Ответ 1

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

Я имею в виду:

lazy
fox

дает нам

lazy<br />
fox

Ответ 2

not {\n}, но {'\n'}

Ответ 3

@radekg

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

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

Ответ 4

Попробуйте

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

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

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

Ответ 5

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

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

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

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

EDIT: у меня было место после "br"

Ответ 6

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

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

Ответ 7

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

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

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

Ответ 8

Я просто сделал это, как следует,

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];
                 }
            }

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

Ответ 9

Вам следует:

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

Что это.