gpt4 book ai didi

javascript - defer 到底做什么?

转载 作者:可可西里 更新时间:2023-11-01 01:26:12 25 4
gpt4 key购买 nike

我放置了 scrollIntoView() 以使我的网格滚动可见。当我在 gridContainer 中添加新网格时,我使用了这种方法。这是有效的,我可以从调试器中检查。我的 scrollIntoView()

grid.body.dom.scrollIntoView();

但是一旦它到达 defer 函数,它就不会 scrollIntoView() 运行。任何人都可以建议如何跳过这个。 defer 做什么以及如何跳过它。我也在使用 grid.focus() 并且再次发生同样的事情。网格正在进入 View ,但在从调试器中出来后没有显示在 View 中。

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;
},

最佳答案

解决方法是不滚动到组件,而是使用 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 .

关于javascript - defer 到底做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com