Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何一次将多个值设置为Ext.data.Model?_Extjs_Model - Fatal编程技术网

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

Extjs 如何一次将多个值设置为Ext.data.Model?,extjs,model,Extjs,Model,在Ext.data.Model类中,我们有set(fieldName,newValue)方法,该方法将一个模型字段设置为给定值 如何一次设置多个值?比如: Ext.data.Model.set({ field1: 'value1', field2: 345, field3: true }); 这是不可能的,但根据我的理解,当您只需要通知模型中的更改一次以存储时,您只需要合并此不同的调用以在模型中设置值,因此存储将只触发一次update事件 如果您是这种情况,则可以使用b

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

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

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

这是不可能的,但根据我的理解,当您只需要通知模型中的更改一次以存储时,您只需要合并此不同的调用以在模型中设置值,因此存储将只触发一次
update
事件

如果您是这种情况,则可以使用
beginEdit
endEdit
函数

var model = new Ext.data.Model();

model.beginEdit();

model.set('field1', 'value1');
model.set('field2', 345);
model.set('field3', true);

model.endEdit();

您不能只使用
Ext.create()
? 如下文所述:

可以设置要设置的字段,也可以设置包含键/值对的对象

record.set({
字段1:值,
字段2:值2
});
//或
记录。设置(字段1,值);
记录。设置(字段2,值2);

我来晚了,但这里有另一种方法:

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

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

//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);

希望这有帮助

我正在修改现有记录。要将新模型添加到存储中,我们只需
Ext.store.add({field1:'value1',field2:345,field3:true})
这根本不是真的,set()方法还可以处理对象设置多个参数,如Liverbool所说。它没有文档记录,但始终是可能的。请参阅源代码。