将数据添加到ExtJS TreeStore时,数据将转换为TreeModel。当你在这些TreeModel上调用getData()时,它不仅返回对象的原始Ext.data.Model中指定的字段,还返回一些其他字段,如qshowDelay,isFirst,allowDrag,...
什么是摆脱所有这些额外添加字段的最佳方法,以便我可以只发布对象的原始Ext.data.Model中指定的字段?
答案 0 :(得分:1)
添加的字段persist
属性为false
。因此,如果您只想要修改的字段进行发布,则可以使用模型的modified
属性,并且不会包含添加的字段。如果您想要来自所有原始字段的数据,您可以执行以下操作:
var fields = Ext.Array.filter(MyModel.getFields(), function(field){
return field.persist!=false;
});
var data = Ext.copyTo(data, record.data, Ext.Array.pluck(fields, 'name'));