我在表单上有一个组合框,我需要在其中重置其存储以及“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