如何改变Ext js动态存储数据
How to change Ext js store data dynamically
我有一个像下面这样的组合框
{
xtype:'combo',
fieldLabel:'Test',
store:['a','b']
}
在没有创建Ext存储对象的情况下,我将数组分配给存储,并且它可以很好地显示值。
在某些操作中,我想用['d','e']更新存储
我已经尝试通过分配新的值来存储像下面
comboObje.store=['d','e'];
但是没有更新值
如何用存储中的新值替换原始值
您可以使用bindStore
创建新存储,也可以使用loadData
将新数据加载到现有存储:
combo.store.loadData(['d', 'e'].map(function(item){ return [item]; }));
工作示例:https://fiddle.sencha.com/#fiddle/tb1
在版本5。*及以上级别可以使用:
comboObje.setStore(['d','e']);
这在以前的版本中不起作用。
将以下代码粘贴到Sencha Fiddle中作为"概念验证":
Ext.application({
name : 'Fiddle',
launch : function() {
var panel = Ext.create('Ext.form.Panel', {
title: 'test',
items: [{
xtype:'combo',
fieldLabel:'Test',
store:['a','b']
}],
renderTo: Ext.getBody()
});
panel.down('combo').setStore(['d','e']);
}
});
试试这个:
comboObje.getStore().loadData([{'field1': 'd'}, {'field1': 'e'}]);
当你分配一个数组给'store' config时,ExtJS会自动生成字段名。
相关文章:
- JS动态添加字段-删除按钮不起作用
- 尝试使用Node.js动态路由从IMDB中抓取电影内容.但是在我的output.json文件中没有定义
- 使用Knockout.js动态更改facebook数据
- Three.js |动态生成BezierCurve
- 使用d3plus.js动态更改网络图表
- 如何为 Flot JS 动态创建数据集
- 角度 JS 动态选项卡字段
- 进度条.js动态设置文本
- 使用vue.js动态设置v-for
- D3.js-动态更改序数刻度
- URL重写Node js-动态URL
- 如何使用JS动态更新innerHTML
- PHP/JS:动态Dropboxes和回显SELECTED值
- 使用chart.js动态添加图表
- JSON值使用process.env[node.js]动态更新
- 如何在ng-options中添加两个索引,并使用Angular.js动态设置值
- 使用 eval() JS 动态创建对象
- D3.js动态设置节点可见性
- 挖空.js动态生成的 HTML 没有得到更新
- JS - 动态选择视频坐标