'displayField'および'valueField'構成とともにストアをリセットする必要があるフォームにコンボボックスがあります。
経由でストアをリセットするとcmb.bindStore(newStore)
うまくいきます。
設定cmb.displayField = 'newfieldname';
もうまくいきます。
ただし、cmb.valueField = 'newValField';
動作しません。コンボは正しいものを表示しますが、アイテムを選択すると、値は新しい値ではなく、古いvalueField値を使用しています。
私はもう試した:
cmb.reset()
後でやってExt.apply(...)
必須フィールドだからvalueField
なんとなく特別だからなのか?知らないExt-JSコンポーネントに設定値を設定する特別な方法はありますか、それとも「valueField」の値を変更することはできませんか?
参考までに-これが私のコードです:
comp.bindStore(Ext.create('Ext.data.Store', {
fields : [ {
name : 'abbr',
type : 'string'
}, {
name : 'name',
type : 'string'
}, {
name : 'slogan',
type : 'string'
} ],
data : [ {
"abbr" : "AL",
"name" : "Alabama",
"slogan" : "The Heart of Dixie"
}, {
"abbr" : "AK",
"name" : "Alaska",
"slogan" : "The Land of the Midnight Sun"
}, {
"abbr" : "AZ",
"name" : "Arizona",
"slogan" : "The Grand Canyon State"
}, {
"abbr" : "AR",
"name" : "Arkansas",
"slogan" : "The Natural State"
}, ]
}));
comp.displayField = 'abbr'; // THIS WORKS
comp.valueField = 'abbr'; // THIS DOESNT WORK