ExtJS,不能将我的textarea滚动到它的底部

时间:2012-05-14 10:46:16

标签: extjs4 textarea scrollbar

我正在使用extjs 4并且我有一个textarea,其中插入了一些文本,默认情况下滚动条设置在顶部,所以当文本超出textarea高度时它会溢出。我希望我的textarea滚动条默认设置在它的底部,所以当我插入新文本时,它会立即显示,而无需手动向下滚动滚动条。

textarea代码是这样的:

items: [{
    xtype: 'textareafield',
    id: 'textarea1',
    autoScroll: true,
    resizable: true,
    name: 'textarea1',
    autorender: true,
    fieldLabel: 'textarea1',
    value: '...'
    },{

我用

插入新文字
area.setValue(Ext.getCmp('textarea1').getValue()+'\n'+message);

但我找不到任何方法来自动滚动它。我搜索了文档和谷歌,现在几乎每个人都使用gwt但我不能。有没有办法只使用extjs方法实现相同的目标?在gwt中,他们使用类似.setScrollTop()的方法,但在extjs中没有类似的东西,它是我无法找到它..

非常感谢您提供的任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以保存区域文本的旧字符串长度,然后使用selectText()使光标移动到正确的位置。

area.selectText(oldStringLength, oldStringLength);

selectText(start, end)实际上并非针对此目的,但仍然可以使用。

答案 1 :(得分:0)

var d = area.getEl().down('textarea').dom; 
d.scrollTop = d.scrollHeight - d.offsetHeight;