这里奇怪的问题,我没有找到任何在线信息。
当我在 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