updateLayout()导致父容器滚动到顶部

Sha*_*jan 6 extjs extjs6 extjs6-classic

调用updateLayout()会导致父容器"跳转"到顶部.在Ext.Container.container上设置viewconfig似乎没有帮助

viewConfig: {
    preserveScrollOnRefresh: true
},
Run Code Online (Sandbox Code Playgroud)

Sha*_*jan 6

正如亚历山大所建议的那样,重写beforeLayoutafterLayout为父容器做了诀窍.

beforeLayout: function() {
    var me = this,
        scroller = me.getScrollable();
    me.callParent(arguments);
    if (scroller) {
        me.savedScrollPos = scroller.getPosition();
    }
},
afterLayout: function() {
    var me = this,
        scroller = me.getScrollable();
    me.callParent(arguments);
    if (scroller && me.savedScrollPos) {
        scroller.scrollTo(me.savedScrollPos);
    }
},
Run Code Online (Sandbox Code Playgroud)