1

这里奇怪的问题,我没有找到任何在线信息。

当我在 Sencha Touch 2 中创建这样的布局时:

Ext.define("MyApp.view.Sample", {
    extend: 'Ext.Container',
    config :
    {
        layout : 'fit',
        scrollable : false,
        items : 
        [
        {
            xtype : 'container',
            docked : 'top',
            html: '<div>Stuff</div>'
        },
        {
            xtype : 'container',
            scrollable : true,
            html: '<div> Bunch of Stuff here that takes a lot of vertical space </div>'

        }
        ]
    },
});

大多数时候,一切似乎都像我想要的那样工作。第一项中的内容停靠并固定在屏幕顶部,第二项的高大内容是可滚动的。但是在测试中,有时如果我快速上下滚动并单击项目,我可以“打破”滚动,第二个项目似乎忘记了它的顶部在哪里。一直向上滚动时,第二项内容的顶部被截断。有趣的是,似乎在第二个项目的底部添加了一块等于截断高度的空白空间。

我做错了什么会导致这种行为?就像我说的那样,它不会每次都发生,但我通常可以通过 4 或 5 次尝试来重现它。

感谢您的关注!

更新:通过更多的测试,看起来这与重新调整浏览器窗口的大小有关——可能在滚动动画仍在进行的时候。另外,我很确定发生这种情况时,我的 Chrome 控制台日志中会弹出此信息:

Uncaught TypeError: Cannot read property 'dom' of null      Abstract.js:85
Ext.define.doSetHidden                                      Abstract.js:85
Ext.define.doSet                                            Evented.js:63
Ext.define.doFire                                           Controller.js:197
Ext.define.fire                                             Controller.js:124
Ext.define.doDispatchEvent                                  Dispatcher.js:341
Ext.define.dispatchEvent                                    Dispatcher.js:322
Ext.define.doFireEvent                                      Observable.js:235
Ext.define.fireAction                                       Observable.js:224
(anonymous function)                                        Evented.js:32
Ext.define.hide                                             Component.js:1682
Ext.define.doHideIndicators                                 View.js:225
method                                                      sencha-touch.js:3127
4

0 回答 0