在Ext.data.Model
课程中,我们使用set(fieldName, newValue)
方法将一个模型字段设置为给定值。
如何一次设置多个值?类似的东西:
Ext.data.Model.set({
field1: 'value1',
field2: 345,
field3: true
});
答案 0 :(得分:10)
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Model
您可以设置要设置的字段,或包含键/值对的对象
record.set({
field1: value,
field2: value2
});
// or
record.set(field1, value);
record.set(field2, value2);
答案 1 :(得分:8)
这是不可能的,但根据我的理解,你只想合并这个不同的调用来设置模型中的值,当你需要通知模型中的更改只存储一次,这样商店才会触发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();
答案 2 :(得分:1)
只需创建一条新记录,该记录将返回包含所有模型字段的空白记录
//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);
希望这有帮助
答案 3 :(得分:0)
我迟到了,但是这是另一种方式:
var rec = new Ext.data.Model({
field1: 'value1',
field2: 'value2',
field3: 'value3'
});
答案 4 :(得分:-1)
你不能只用Ext.create()
做到这一点吗?
如下所述:
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.ModelManager-method-create