在ExtJS里面,如果频繁的打开一个弹窗,弹窗里面是动态创建的控件,控件赋予了id,
{
id: "editQueryOid",
labelWidth: 60,
width: 180,
labelAlign: "right",
labelSeparator: "",
fieldLabel: "oid",
margin: "5, 0, 0, 0",
xtype: "textfield"
}
那么很可能导致多次打开弹窗时控件重复的问题,
而且,如果是点击按钮,调用ajax请求,还可能会多请求1次、2次不等。
猜测原因是由于弹窗虽然关闭了,但那些控件并没有真正地清除,
当第二次打开弹窗时,创建了id重复的一批控件,就出问题了。
解决办法是:如非万不得已,控件不用id。
如果需要把属性绑定在控件上,不一定用id的,取个别的名字例如xid、tid什么的也是可以取到值的。
控件赋予id主要用于Ext.getCmp(id)。