我有一个从Json商店读取的列表,其中包含int类型字段的分组器。该字段在下面的示例模型中称为“req”。但是,我不是按int值分组,而是想分配一个文本值,所以例如,如果是“1”,我会按“是”分组,如果是“0”,我会分组“否” ”。转换可以是硬编码的,因为它不会改变。我在哪里进行代码转换?谢谢你的帮助
Ext.define('MyApp.store.MyStore', {
extend: 'Ext.data.Store',
requires: [
'MyApp.model.MyData'
],
config: {
model: 'MyApp.model.MyData',
storeId: 'MyStore',
proxy: {
type: 'ajax',
url: '/path/to/data.json',
reader: {
type: 'json',
rootProperty: 'items'
}
},
grouper: {
property: 'req',
sortProperty: 'req'
},
groupDir: 'DESC'
}
});
型号:
Ext.define('Mypp.model.MyModel', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'example',
type: 'string'
},
{
name: 'req',
type: 'int'
}
]
}
});
答案 0 :(得分:0)
使用convert()函数向模型添加计算字段:
Ext.define('Mypp.model.MyModel', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'example',
type: 'string'
},
{
name: 'req',
type: 'int'
},
{
name: 'reqDisplay',
type: 'string',
convert: function (value, record) {
if (value == null) {
var req = record.get('req');
value = req ? 'Yes' : 'No'
}
return value;
}
}
]
}
});
...而是使用它
grouper: {
property: 'reqDisplay',
sortProperty: 'reqDisplay'
},
干杯,奥列格