如何将组合框的名称(即显示文字)绑定到其他组件?
我有一个名为' combo'的组合框,我在其他地方的面板中有一个标签,用组合显示值更新自己。这两个小部件通过ViewModel绑定。
如果我设置这样的绑定:
combo.setConfig({bind: {value: bindName}};
然后标签将显示组合的值(即。键)。
如果我这样做:
combo.setConfig({bind: {name: bindName}};
然后我收到此错误消息:
"无法在Ext.form.field.ComboBox上绑定名称 - 缺少setName 。方法"
我在组合框中经历了其他getter / setter方法但没有成功,尝试过:
combo.setConfig({bind:{name:displayField}};
combo.setConfig({bind:{name:rawValue}};
答案 0 :(得分:2)
添加对组合的引用并绑定到选择:
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"
}]
}
}]
});