2008-11-24 26 views
24

Tôi có một chuỗilàm thế nào để ngắt dòng văn bản trong textarea flex

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

và tôi muốn đặt nó vào một vùng văn bản, nhưng ký tự dòng mới được bỏ qua. Làm thế nào tôi có thể đảm bảo rằng các văn bản phá vỡ nơi tôi muốn nó khi nó được giao?

+0

TxtHolder là gì? –

Trả lời

43

On flex, trong khi mã hóa \n đang làm việc tốt trên mxml hoặc bất kỳ xml để xác định một dòng chỉ cần sử dụng 
 dòng thực thể.

Ý tôi là:

lazy
fox 

cho chúng ta

lazy<br /> 
fox 
+5

Flex 4.5 có vẻ thích hơn – MonoThreaded

3

Hãy thử

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

Ngoài ra, sử dụng thuộc tính htmlText và sử dụng

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

Nó sẽ làm việc hoặc ít nhất < BR \> (không có khoảng trống trước khi "br") nên hoạt động nếu bạn đang sử dụng htmlText.

Tôi đã sử dụng XML để điền vào TextArea và vì tôi không hoàn toàn chắc chắn làm thế nào để sử dụng HTML bên trong XML (họ đề cập rằng tôi nên quấn nó với các thẻ CDATA) nhưng tôi chỉ cần làm một đơn giản

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

Có lẽ có một cách tốt hơn để đi về nó nhưng điều này hoạt động ra độc đáo.

EDIT: Tôi đã có một không gian sau khi "br"

0

tôi chỉ kiểm tra mã sau:

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

và với mx: Văn bản

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

Cả hai đều hoạt động tốt. Có thể bạn đang sử dụng mx: TextInput hoặc mx: Label?

9

không {\ n} {nhưng '\ n'}

+0

Bạn giành được câu trả lời hay nhất từ ​​tôi. lol. ty. – Speakeasys

5

@radekg

Các OP là đề cập đến các chuỗi văn bản viết bằng cú pháp MXML:

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

Trong Flex nếu bạn đang cố gắng đặt dòng bên cạnh dòng trước đó. Sau đó, chỉ cần thêm nó vào dòng trước đó.

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

Bây giờ textarea1 là vùng văn bản mà bạn muốn in chuỗi này sẽ thêm vào nó.

0

Tôi chỉ làm điều này như sau,

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

Cảm ơn bạn Tolgahan Albayrak

0

Bạn nên làm:

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

Vậy là xong.

Các vấn đề liên quan