Ext 4.1.1:向 Store 添加新记录
Posted
技术标签:
【中文标题】Ext 4.1.1:向 Store 添加新记录【英文标题】:Ext 4.1.1: Add new record to Store 【发布时间】:2012-07-18 15:38:10 【问题描述】:我想在商店初始化后添加记录。
我尝试了loadData()、loadRawData()、add(),但没有任何接缝可以工作。
这是我的 jsfiddle:http://jsfiddle.net/charlesbourasseau/zVvLc
有什么想法吗?
【问题讨论】:
【参考方案1】:对于面板,您可以通过remove()
和add()
添加或删除项目
var store = Ext.create('MyApp.store.Roles', autoLoad: false);
store.load(function(records, action, success)
if (success)
store.remove(store.findRecord('id', 50, 0, false, true, true));//exact match
store.add('id':110,'name':'Agent' );
);
【讨论】:
【参考方案2】:您需要在组合框中设置queryMode: 'local'
。最小的例子:
Ext.onReady(function()
var store = Ext.create('Ext.data.Store',
alias: 'store.ModeStore',
autoLoad: false,
fields: [
name: 'mode',
type: 'string'
,
name: 'id',
type: 'string'
],
data: [
mode: 'mode1',
id: 1
]
);
var container = Ext.create('Ext.form.field.ComboBox',
renderTo: Ext.getBody(),
displayField: 'mode',
valueField: 'mode',
store: store,
queryMode: 'local'
);
store.add(
mode: 'mode2',
id: 2
);
);
【讨论】:
以上是关于Ext 4.1.1:向 Store 添加新记录的主要内容,如果未能解决你的问题,请参考以下文章
在 Ext JS 4 中通过 store.sync() 更新记录后,记录翻倍