我正在使用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中没有类似的东西,它是我无法找到它..
非常感谢您提供的任何帮助!
答案 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;