我在开发extjs应用程序( that应用程序)时发现,有时我从记录中需要的数据是record.raw而不是record.data。两者之间有什么区别,为什么会这样呢?
编辑-添加示例(可排序的父类列--我的其他问题之一)
{text: 'Parent', dataIndex: 'Parent',
doSort: function(state) {
var ds = this.up('grid').getStore();
var field = this.getSortParam();
ds.sort({
property: field,
direction: state,
sorterFn: function(v1, v2){
if (v1.raw.Parent) {
v1 = v1.raw.Parent.Name;
} else {
v1 = v1.data.Name;
}
if (v2.raw.Parent) {
v2 = v2.raw.Parent.Name;
} else {
v2 = v2.data.Name;
}
return v1.localeCompare(v2);
}
});
},
renderer: function(value, meta, record) {
var ret = record.raw.Parent;
if (ret) {
return ret.Name;
} else {
meta.tdCls = 'invisible';
return record.data.Name;
}
}
},发布于 2013-07-24 17:25:29
raw中的数据是尚未转换为fields配置中指定的类型的原始数据。一旦Reader完成了该转换,转换后的数据将存储在基于fields的data中。
您可以在这里了解更多关于这些文档的内容:http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Model
https://stackoverflow.com/questions/17840773
复制相似问题