我有一个以空项集合开头的Panel。在应用程序的过程中,有必要将GridPanel添加到Panel。这似乎工作正常。
在应用程序的某个其他位置,有必要删除GridPanel,然后添加另一个。我已经尝试了几种清除Panels内容的方法,但没有任何乐趣。
遍历items集合并调用disable()
不起作用。
调用items.removeAt(index)
不起作用。
调用removeAll(true)
不起作用。
网格停留在那里并且可见,仍然抛出所有相同的事件。如果我完成加载网格过程,则只显示一个网格。但是,应用程序的要求是,当填充网格的数据标准发生变化时,应清除网格。
答案 0 :(得分:1)
我相信我已经解决了我的问题。
调用remove(itemName, true)
似乎就是一招。
虽然我会对任何可以提供有关removeAll(true)
无效的原因的见解感到好奇。
答案 1 :(得分:0)
你是如何添加GridPanel的?您可以在创建它的闭包中hide()
GridPanel并添加它。或者,您可以尝试使用父组件上的GridPanel对象调用remove(panel)
。我认为disable()
也不会隐藏GridPanel,IIRC。
答案 2 :(得分:0)
这就是我为我的一个ext项目做的事情
click: function () {
var tempRef = Ext.getCmp("createPanel");
tempRef.remove(Ext.getCmp("step2"),false);
tempRef.doLayout();
tempRef.update();
tempRef.insert(1,Ext.getCmp("step1"));
tempRef.doLayout();
Ext.getCmp("backButton").disable();
Ext.getCmp("backNext").enable();
}
这是我的一个按钮的代码。