Aru*_*n V 4 tree json extjs extjs4
这是我的模型:
Ext.define('A.model.Group', {
extend: 'Ext.data.Model',
fields:['id', 'name'],
proxy: {
type: 'rest',
url: '/group',
reader: {
type: 'json',
root: 'data'
},
writer: {
type: 'json',
writeAllFields: false
}
}
});
Run Code Online (Sandbox Code Playgroud)
该模型通过TreeStore在Tree中使用
的问题是,当一个PUT,POST或DELETE方法完成,而不是从在JSON有效载荷中的模型仅发送领域,从领域Ext.data.NodeInterface也被发送.这是一个示例有效负载:
{"id":"","name":"TestGroup","parentId":"8","index":0,"depth":3,"checked":null}
Run Code Online (Sandbox Code Playgroud)
我不想要额外的字段parentId,index和depth,并checked发送.做这个的最好方式是什么?我不想在服务器上忽略它们.
如果您不想仅向服务器发送特定数据,则writeAllFields不是解决方案,因为它设置为false,它只发送修改后的字段.你的问题的解决方案是定义你自己的编写器,并在getRecordData这里重写方法是一个可行的例子:
var newWriter = Ext.create('Ext.data.writer.Json',{
getRecordData: function(record){
return {'id':record.data.id,'name':record.data.name};
}
})
Ext.define('A.model.Group', {
extend: 'Ext.data.Model',
fields:['id', 'name'],
proxy: {
type: 'rest',
url: '/group',
reader: {
type: 'json',
root: 'data'
},
writer: newWriter
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3771 次 |
| 最近记录: |