EXT combo setValue ,給combo 設默認值,常見詭祕問題

(function(tar_field,value){
            tar_field.getStore().on('load',function(){
        tar_field.setValue(value);
            });

})(tar_field,value);


我是這樣解決的

(tar_field 是個combo)

一般來說

tar_field.getStore().on('load',function(){
        tar_field.setValue(value);
});

這樣就可以解決的

但是也有時候會有一個很隱蔽的問題

tar_field

value

有可能會被後邊的代碼改掉,因爲你的這個是回調的只會在,會在未來執行,當時的tar_field 和 value 很有可能被串改了,導致你發現怎麼也設置不進去的感覺

這裏我使用閉包解決

閉包 參考

http://blog.csdn.net/nx8823520/article/details/6858126



======================================================

除此之外

還有可能combo setValue 不成功的原因是

你的combo的store 是 autoLoad = true ,在你 load一次 setValue後,combo 會再load一次 ,如果自動load的那一次的結果集合中沒有你setValue的值,

那麼你的combo看起來會是空的,setValue無效

發佈了267 篇原創文章 · 獲贊 8 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章