我更改了几十个网格面板列的宽度。我想在表演的时候展示一个面具。
grid.setLoading(true);
Ext.suspendLayouts();
// columns -- grid columns
columns.forEach(function (column) {
column.setWidth(...);
}, this);
// fires 'resumelayouts' event and immediately returns.
Ext.resumeLayouts();
// performs before everything updates its layout, which takes 3-4 seconds.
grid.setLoading(false);发布于 2016-02-01 20:31:59
问题是,你最终会把当前的“线程”绑在一起,这样浏览器就没有机会重新绘制了。你可以这样做:
grid.setLoading(true);
setTimeout(function() {
Ext.suspendLayouts();
columns.forEach(function (column) {
column.setWidth(...);
}, this);
Ext.resumeLayouts();
grid.setLoading(false);
}, 1);上面的代码放弃了对当前“线程”的控制,并允许在开始布局操作之前重新绘制。
https://stackoverflow.com/questions/35130505
复制相似问题