如何绑定到组合框显示值?

How do I bind to a combobox display value?

如何将组合框的 名称(即显示文本)绑定到其他组件?

我有一个名为 'combo' 的组合框,我在其他地方的面板中有一个标签,它会使用组合显示值自行更新。这两个小部件通过 ViewModel 绑定。

如果我这样设置绑定:

combo.setConfig({bind: {value: bindName}};

然后标签将显示组合(即键)的

如果我这样做:

combo.setConfig({bind: {name: bindName}};

然后我收到此错误消息:

"Cannot bind name on Ext.form.field.ComboBox - missing a setName method."

我已经尝试过组合框中的其他 getter/setter 方法但没有成功,尝试过 :

combo.setConfig({bind: {name: displayField}};

combo.setConfig({bind: {name: rawValue}};

Fiddle : https://fiddle.sencha.com/#fiddle/1bum

添加对组合的引用并绑定到选择:

Ext.define('MyApp.view.TestView', {
    extend: 'Ext.panel.Panel',
    layout: 'form',

    viewModel: {
        type: 'test' // references alias "viewmodel.test"
    },

    bind: {
        title: 'Hello {name} {theCombo.selection.name}'
    },

    items: [{
        xtype: 'textfield',
        fieldLabel: 'first name',
        bind: '{name}'

    }, {
        valueField: 'id',
        displayField: 'name',
        fieldLabel: 'last name',
        reference: 'theCombo',
        xtype: 'combo',
        bind: '{combo}',
        store: {
            fields: ['id', 'name'],
            data: [{
                "id": "1",
                "name": "Jonston"
            }, {
                "id": "2",
                "name": "Billson"
            }, {
                "id": "3",
                "name": "Wayneston"
            }]
        }
    }]
});