我从REST API获取数据返回数据,其中一列是group的状态,这在数据库中定义为整数,我想在将它们显示在UI中之前将其转换为字符串。例如,REST API的状态返回值为1,但我希望显示为"有效" ......但不知道转换将在何处发生。我应该在商店中转换来自int-> string ,还是应该在哪里进行转换。请帮忙。
这是我的模特:
// Model
Ext.define('Console.model.Group', {
extend: 'Ext.data.Model',
fields: [{
name: 'id',
type: 'string'
}, {
name: 'group',
type: 'string'
}, {
name: 'state',
type: 'string'
}],
proxy: {
type: 'rest',
url: '/api/groups', // Joanne need to change the URL name here
reader: 'json'
}
});
// store
Ext.define('Console.store.Groups', {
extend: 'Ext.data.Store',
model: 'Console.model.Group',
autoSync: false,
buffered: false,
pageSize: 1000,
autoLoad: false,
autoDestory: true,
purgePageCount: 3,
sorters: [{
property: 'label',
}],
trailingBufferZone: 100,
proxy: {
simpleSortMode: true,
type: 'rest',
url: '/api/groups',
reader: {
type: 'json',
root: 'data',
totalProperty: 'total'
}
}
});
答案 0 :(得分:1)
如果您想要在多个地方使用该映射,那么最方便的做法是进行映射/转换并在您的模型上创建虚拟字段:
{
name: 'statusText',
mapping: 'status',
convert: function(v, record) {
var map = {0:'Invalid', 1: 'Valid};
return map[v];
}
}