您好我使用此代码动态地向面板添加标签项,但是当清除项目并尝试再次添加新项目时,没有任何事情发生:
var mText = new Ext.form.Label({});
mText.draggable="constrain: true; constrainTo: mSurface";
mSurface.add(mText);
mSurface.doLayout();
mText.on('move',function(t,x,y,eOpts){
MainForm.lbx.setText(x,false);
MainForm.lby.setText(y,false);
obj.set('o_x',parseInt(x));
obj.set('o_y',parseInt(y));
});
mText.getEl().on('render', function(t,eOpts) {cur_obj=mText;});
mText.getEl().on('click', function(e,t,eOpts) {cur_obj=mText;Tree_Select(mText.id);});
mText.getEl().on('contextmenu', function(e,t,eOpts) {e.stopEvent();cur_obj=mText;mnutxtContext.showAt(e.getXY());});
mSurface.removeAll()什么都不做!!所以我用它来清除面板:
Ext.each(mSurface.items.items, function(cmp)
{
cmp.destroy();
//mSurface.remove(cmp); //doesn't work also
});
我已经阅读了extjs 4.2 api中的几乎所有东西,并尝试谷歌它但没有,我认为removeAll应该工作,也许我添加标签到面板的方式是错误的或有一些我缺少的东西..
感谢您的建议..: - )
答案 0 :(得分:0)
我在苦苦挣扎后找到了解决方案..: - (((<(
我只需将配置更改为:
var mText = new Ext.form.Label({id:obj.get('o_id')});
当我通过&#39; id&#39;在配置中&#39; removeAll&#39;工作良好!!!但是当我设置“id”#39;在创建组件并将其添加到面板后,“删除所有”&#39;没有工作......
我真的不知道为什么,但我很乐意为这种行为做出解释!