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