我放置scrollIntoView()
以使网格滚动可见。当我在gridContainer中添加新网格时,我使用此方法。这工作我可以从调试器检查。
我的scrollIntoView()
grid.body.dom.scrollIntoView();
但是一旦达到推迟功能,它就不会scrollIntoView()
运作。任何人都可以建议如何跳过这个。什么延迟做什么以及如何跳过这个。我也在使用grid.focus()
,同样的事情正在发生。网格即将进入视图,但是从调试器出来后没有显示进入视图。
defer: function(fn, millis, scope, args, appendArgs) {
fn = Ext.Function.bind(fn, scope, args, appendArgs);
if (millis > 0) {
return setTimeout(function() {
if (Ext.elevateFunction) {
Ext.elevateFunction(fn);
} else {
fn();
}
}, millis);
}
fn();
return 0;
},
答案 0 :(得分:3)
解决方法不是滚动到组件,而是使用card layout作为中心容器并在另一张卡上显示新网格。
var centerCt; // reference to your center container
var centerLayout = centerContainer.getLayout();
var newGrid = Ext.create('Ext.grid.Panel', {});
centerCt.add(newGrid);
centerLayout.setActiveItem(newGrid);
我创建了一个Sencha Fiddle。