是否需要使用数据填充组合框?在查看文档之后,它似乎是,但我想确认,因为我是ExtJS的新手。
选择列表的选项从任何Ext.data.Store填充,包括远程存储。商店中的数据项分别通过valueField和displayField配置映射到每个选项的显示文本和支持值。 - http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.form.field.ComboBox
我有几种形式的组合框;所有这些都包含不同的选项。这是否意味着我必须为每个组合框创建一个数据存储?
Ext.onReady(function() {
console.clear();
Ext.create('Ext.data.Store', {
storeId: 'confiurationDetailsStoreForRead',
fields: ['value', 'name'],
data: [{
"value": "72001",
"name": "Enabled"
}, {
"value": "72002",
"name": "Disabled"
}, {
"value": "72003",
"name": "Required"
}]
});
var configurationDetailsPanel = Ext.create({
xtype: 'form',
url: '/employeeSearchResult',
items: [{
xtype: 'combobox',
fieldLabel: 'Config Type',
store: Ext.getStore('confiurationDetailsStoreForRead'),
queryMode: 'local',
displayField: 'name',
valueField: 'value'
}],
buttonAlign: 'left',
buttons: [{
text: 'Search',
handler: function() {
console.log('Search Pressed');
}
}, {
text: 'Reset',
handler: function() {
this.up('form').getForm().reset();
}
}]
});
//Main Container
Ext.create({
xtype: 'panel',
renderTo: Ext.getBody(),
defaultType: 'button',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [configurationDetailsPanel]
});
});
上面的代码是我表单中一个组合框的示例。我想知道是否有任何方法可以将数据放在combox配置中(而不是创建存储然后在配置中引用该存储)?或者我在代码中使用的方法是唯一的方法吗?
提前致谢。
答案 0 :(得分:1)
是的!您可以将商店直接放入组合框:
{
xtype: 'combobox',
fieldLabel: 'Config Type',
displayField: 'name',
queryMode: 'local',
store: {
fields: [
'value',
'name'
],
data: [
{
value: '72001',
name: 'Enabled'
},
{
value: '72002',
name: 'Disabled'
},
{
value: '72003',
name: 'Required'
}
]
},
valueField: 'value'
}
答案 1 :(得分:1)
也可以这样做
{
xtype: 'combobox',
fieldLabel: 'Config Type',
queryMode: 'local',
store: [
[ '72001', 'Enabled' ],
[ '72002', 'Disabled' ],
[ '72003', 'Required' ]
]
}