如何一次为Ext.data.Model设置多个值



Ext.data.Model类中,我们有set(fieldName, newValue)方法,它将一个模型字段设置为给定值。

如何一次设置多个值?比如:

Ext.data.Model.set({
    field1: 'value1',
    field2: 345,
    field3: true
});

http://docs.sencha.com/extjs/4.2.1/# !/api/Ext.data.Model

您可以将字段设置为set,或包含键/值对的对象

record.set({
    field1: value,
    field2: value2
});
// or 
record.set(field1, value);
record.set(field2, value2);

这是不可能的,但根据我的理解,你只想合并这个不同的调用设置一个值在模型中,当你需要通知模型的变化只有一次存储,所以存储将只触发update事件一次

如果您是这种情况,那么您可以使用beginEditendEdit函数

var model = new Ext.data.Model();
model.beginEdit();
model.set('field1', 'value1');
model.set('field2', 345);
model.set('field3', true);
model.endEdit();

创建一个新记录,返回一个包含所有模型字段的空白记录

//this one is for the grid model
var blank_record  = Ext.create(grid.store.model);

创建一个对象来设置字段

的新值
 var new_record = {
        'field1':'value1',
        'field2':'value2',
        'field3':'value3'
    };

然后将对象值设置为空白记录

 blank_record.set(new_record);

进一步,如果你想添加新创建的记录到网格

grid.store.add(blank_record);

希望能有所帮助

我迟到了,但这里有另一种方法:

var rec = new Ext.data.Model({
    field1: 'value1',
    field2: 'value2',
    field3: 'value3'
});

你不能只使用Ext.create()吗?如下所示:

http://docs.sencha.com/extjs/4.1.3/# !/api/Ext.ModelManager-method-create

最新更新