如何绑定到组合框显示值?
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}};
添加对组合的引用并绑定到选择:
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"
}]
}
}]
});
如何将组合框的 名称(即显示文本)绑定到其他组件?
我有一个名为 '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}};
添加对组合的引用并绑定到选择:
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"
}]
}
}]
});