有没有办法将商店绑定到ExtJS ComboBox而不创建js模型(ExtJS 4.1)?
要填充用户组合框,我总是需要先设置模型吗?我想为每个组合框跳过以下代码:
Ext.define('User',{extend:'Ext.data.Model',idProperty:'Id',fields:['Id','Name']});
答案 0 :(得分:3)
var myStore = Ext.create('Ext.data.Store',{
fields:['Id','Name'],
data:[
{Id:0,Name:'Yes'},
{Id:1,Name:'No'},
{Id:2,Name:'Maybe'}
]
});
var pnl = Ext.create('Ext.panel.Panel', {
xtype: 'panel',
title: 'My Panel',
items: [{
id:'cboField1'
xtype:'combobox',
fieldLabel:'My Field',
displayField:'Name',
valueField:'Id',
queryMode:'local',
store: myStore
}]
});
答案 1 :(得分:2)
我发现创建具有两个字段id,name的简单模型很有用,然后在所有静态存储(我用于组合框)上使用此模型,其中值列表是预定义的。
答案 2 :(得分:2)
如果您正在使用Architect,则可以在ComboBox的store属性中指定一个数组。创建额外的商店并没有任何意义。模型,如果你只是想要一个静态的'标题'组合框。
xtype:'combo',
fieldLabel:'Title',
name:'division',
queryMode:'local',
store:['Mr','Mrs','Ms'],
displayField:'title',
autoSelect:true,
forceSelection:true
P.S。为了将商店属性更改为Architect中的本地数组,您需要选择商店文本左侧的小图标,并将其更改为数组而不是商店。
答案 3 :(得分:1)
您无需 在Extjs中的任何情况下在商店中设置模型。设置商店的fields属性。
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-cfg-fields
另外,请考虑商店的数据属性以获取本地数据。
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-property-data