如何绑定数组到arraystore,以便在extjs中填充组合
How to bind array to arrystore in order to populate combo in extjs
我将数组设置为
var cars = new Array('audi','benz','citron','nissan','alto');
我想把这些数据添加到arraystore中,就像下面的
var myStore = new Ext.data.ArrayStore({
data : cars ,
fields : ['names']
});
将数组存储绑定到combo
var myCombo = new Ext.form.ComboBox({
store: myStore ,
displayField: 'name',
valueField: 'name',
typeAhead: true,
mode: 'local',
forceSelection: true,
triggerAction: 'all',
emptyText: 'Select a state...',
selectOnFocus: true,
});
组合只显示数组中每个单词的第一个字母a, b, c, n, a
我如何才能正确地显示组合,因为我正在使用的数组是编程填充的,然后绑定到arraystore
或者,如果您只是传递数组作为存储配置,这也将工作(假设是最新版本):
new Ext.form.ComboBox({
store: ['Audi', 'Benz', 'Citron', 'Nissan', 'Alto']
});
注意,如果是这种情况,则不需要指定displayField/valueField
ArrayStore使用的数据格式是数组的数组。按照以下方式重新格式化您的存储数据应该允许它工作:
var cars = [['audi'], ['benz'], ['citron'], ['nissan'], ['alto']];
将您的格式转换为所需的格式非常简单:
for ( var i = 0, c = cars.length; i < c; i++ ) {
cars[i] = [cars[i]];
}
相关文章:
- 将数据加载到存储后,Extjs组合框为空
- ExtJs组合框显示字段编码
- extjs组合框自动点击下拉箭头
- 在 ExtJS 组合框选取器上滚动事件
- ExtJS组合框和过滤存储
- 用 JSON 填充 ExtJS 组合框
- 从 Rally 构建的 extjs 组合框中,如何获取子 ChangeSet 记录上的字段
- 带有超链接的 ExtJs 组合框 dispalyfield
- ExtJS 4 组合框在表单绑定上显示值字段而不是显示字段
- ExtJS-组合框中记录的未定义索引
- Extjs组合框在存储区未加载任何结果时保持重置文本值
- extJS组合框.动态数据加载
- 设置extjs 6组合框's在运行时存储数据会导致显示错误
- 如何创建一个通用的ExtJS组合框存储
- 强制extjs组合框至少有一个项目
- ExtJs组合过滤不能正常工作
- 自动完成在extjs组合框
- 我怎样才能在extjs组合框上得到突出显示的项目
- 隐藏extjs组合框的下拉列表
- Extjs -组合与自动完成:两种类型的值