我是ExtJs的新手,所以如果这个问题含糊不清,我会很抱歉,我会尽力解释。
我的商店设置如下
Ext.define('MyApp.store.ValveSystemStore', {
extend: 'Ext.data.Store',
alias: 'store.valveSystem',
fields: [
'SystemId',
'EquipRef',
'Type'
],
proxy: {
type: 'direct',
directFn: 'MyApp.Direct.GetSystems'
}
});
我的模特
Ext.define('MyApp.model.ValveSystem', {
extend: 'Ext.data.Model',
field: [
{ name: 'SystemId', type: 'int' },
{ name: 'Type', type: 'string' },
{ name: 'EquipRef', type: 'string' }
],
idProperty: 'SystemId',
proxy: {
type: 'direct',
api: {
read: 'MyApp.Direct.GetValveSystems'
},
paramOrder: 'id'
}
});
我的ViewModel
Ext.define('MyApp.view.SystemViewModel', {
extend: 'Ext.app.ViewModel',
requires: [
'MyApp.store.ValveSystemStore',
'MyApp.model.ValveSystem'
],
alias: 'viewmodel.SystemViewModel',
stores: {
systemStore: Ext.create('MyApp.store.ValveSystemStore', {
model: 'MyApp.model.ValveSystem',
})
}
});
我在“TopPanel”上有一个组合框,其中填充了我商店中显示的EquipRef
字段列表。我在其下方有一个面板,其中包含EquipRef
和Type
的文本字段。当我从组合框中选择EquipRef
时,它会显示在相应的文本字段中。到目前为止,我有一个绑定EquipRef
组合框与其文本框,但我无法弄清楚如何让type
也填充其文本框。
顶部面板组合框代码
{
xtype: 'combobox',
width: 200,
fieldLabel: 'Equip Ref',
editable: true,
store: {
type: 'valveSystem',
autoLoad: true
},
queryMode: 'remote',
triggerAction: 'all',
displayField: 'EquipRef',
bind: '{EquipRef}'
}
底部面板文本字段代码
items: [
{
fieldLabel: 'Equip Ref',
xtype: 'textfield',
width: 240,
id: 'equipRef',
bind: '{EquipRef}', // --> works, textfield populated
editable: false
},
{
fieldLabel: 'Type',
xtype: 'textfield',
name: 'type',
bind: '{Type}', // -----> this does not work
editable: false
}
]
我知道这可能是一个业余问题,我已经对绑定和MVVM架构进行了研究,但有些事情在我脑海中浮现。非常感谢!