1
我需要“好风格”的建议。我有一个从json填充的表单。填充表单的代码放在render listener中。问题是,许多表单元素都有更改监听器,所以当填充表单时会触发这些更改监听器。我想要防止这种不需要的行为。ExtJs。在加载和更改监听器上设置表格值
// many form elements with change listeners come here
listeners:{
render:function(){
var frm=this.getForm();
Ext.Ajax.request({
url:'../handlers/instruct.handler.php?id='+id,
method:'POST',
params:{action:'params'},
success:function(result,request){
json=Ext.decode(result.responseText,1);
frm.setValues(json); // form population
// triggers change listeners
}
});
}
}
PS。我使用ExtJS的4.2
谢谢!它工作正常,虽然这样的任务的两次迭代似乎并不理想。 – Jacobian
无论你是在应用层实现它,还是在框架中完成它,你仍然需要遍历集合两次。 –
另一种方法是在每个更改侦听器中使用全局标志变量(或对象)和许多“ifs”来检查change事件是否第一次出现。它看起来很丑陋,但是它不会更好吗? – Jacobian