ExtJs - 基于一个组合框绑定到多个字段

时间:2017-02-06 21:02:51

标签: javascript extjs mvvm combobox binding

我是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字段列表。我在其下方有一个面板,其中包含EquipRefType的文本字段。当我从组合框中选择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架构进行了研究,但有些事情在我脑海中浮现。非常感谢!

0 个答案:

没有答案