本人也是剛剛開始學習Ext,在這裏班門弄斧,發一篇博客,來紀念一下這一下午的工作。就當做是個工作筆記吧
items : [{
xtype : 'combo',
hiddenName : 'sectionValue',
forceSelection : true,
typeAhead : false,
// editable : false,
id : 'sectionCombo',
fieldLabel : '板塊名稱',
width : '200',
store : new Ext.data.JsonStore({
url : context + '/section/search.ao?method=searchAllSectionName',
autoLoad : true,
method : 'post',
root : 'root',
totalProperty : 'totalProperty',
fields:['text','value'],
listeners :{
load:function(){
}
}
}),
emptyText : '=====取消板主=====',
mode : 'remote',
triggerAction : 'all',
blankText:'請選擇',
valueField: 'value',
displayField: 'text'
}],
這其中有幾個關鍵的屬性:
第一:是store 不用我多說了吧,大家應該都知道;
第二:是store裏面的fields。這裏的字段要和後面valueField和displayField對應好。顯示哪個,傳值後臺哪個就靠他倆了
第三:我覺得也是困擾了我一段時間的,就是triggerAction。不知道大家有沒有遇到過這個問題。如果你要是把這個屬性的值寫成默認的query,那就慘透了。Ext每次都會爲你自動去匹配結果。如果你再加上一個editable爲false,那就。。。。所以則兩個屬性的配置要注意!
第四:mode。自己去看API
其它:forceSelection 、typeAhead
最後還要說一下hiddenName這個屬性。我們在向後臺傳值的時候,大家可能會差異,爲什麼getCmp()不好使了。告訴你 getCmp取到的是displayField所對應的值,而不是我們真正需要的valueField。所以還是要用get(hiddenName).value來取值才能得到valueField所對應的值。
本人菜鳥一名,入行1個月不到,還希望高手多多指點