1

私はextjs 4を使用しており、テキストを挿入するテキストエリアがあります。スクロールバーはデフォルトで一番上に設定されているため、テキストがテキストエリアの高さを超えるとオーバーフローします。テキストエリアのスクロールバーをデフォルトで一番下に設定したいので、新しいテキストを挿入すると、スクロールバーを手動でスクロールしなくてもすぐに表示されます。

テキストエリアのコードは次のようなものです。

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 に答える