1

我正在使用 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 中没有类似的方法,我找不到它..

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

4

2 回答 2

0

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

area.selectText(oldStringLength, oldStringLength);

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

于 2012-05-14T11:06:20.853 回答
0
var d = area.getEl().down('textarea').dom; 
d.scrollTop = d.scrollHeight - d.offsetHeight;
于 2016-02-08T11:27:19.613 回答