2012-03-21 161 views
4

我在Sencha Touch 2應用程序中有Ext.field.TextArea。我只是希望它根據其包含的文本進行高度擴展。我怎樣才能做到這一點?它看起來像這樣一個基本/簡單的功能,但我無法在API中找到它。如何將Ext.field.TextArea大小設置爲沒有滾動條的文本的大小?

我正在使用此組件來顯示一些靜態多行文本 - 是否有另一個組件可能更適合此任務?

任何幫助表示讚賞,謝謝。

回答

0

對非表單項使用表單元素不是最佳解決方案。

我會建議您僅僅使用輕量級的Ext.container.Container組件,或者如果您需要圍繞它的發燒友鍍鉻物,可能是面板或窗口。

+0

好吧,那麼我會把這個Container放在裏面?它看起來像'Label's只是橫向延伸永遠。我應該爲文本使用什麼組件?我認爲我可以避免編寫原始HTML這樣一個簡單的任務... – 2012-03-21 15:31:45

1

我解決這樣說:

Ext.define('ParentsApp.component.TextAreaAutomaticRow', { 
extend: 'Ext.form.Select', 
xtype: 'textareaautomaticrow', 
config: { 
    maxRows: 2, 
    autoHeight: true, 
    listeners: { 
     keyup: function (field, event) { 
      if (field.autoHeight) {     
       var numOfRows = field.getValue().split("\n").length; 
       if(numOfRows >= 2) { 
        numOfRows = numOfRows++; 
        field.setMaxRows(numOfRows); 
       } else if (numOfRows < field.getMaxRows()) { 
        field.setMaxRows(numOfRows + 1); 
       }     
      } 
     } 
    }  
}, 

});

+0

這幫助我自動擴展Sencha Touch 1中的textareafield,只需要將field.getMaxRows()/ field.setMaxRows()更改爲字段。 fieldEl.dom.rows。 工作就像一個魅力! – Nikkelmann 2013-11-12 10:15:26

相關問題