在模型上创建依赖于其他2个字段extjs的字段

时间:2012-05-22 16:06:06

标签: extjs

是否可以根据退货内容在模型中创建字段定义? 我想创建一个由2个其他字段组成的字段。

我目前正在做的是加载商店,然后处理每条记录并设置数据。这感觉有些不雅但是:

Ext.define("moddie", {
    extend:'Ext.data.Model',
    config:{
        fields     : [
            "id",
            "move",
            "moveId"
        ]
    }
});

Ext.create('Ext.data.Store',{
    model:'moddie',
    proxy:{
        type:'ajax',
        url: 'json.json',
        reader: {
                type: 'json',
            }
        },
    },  
    config:{
        listeners:{
            load:{
                fn  : function(s,r,o){
                s.each(function(record){
                    record.set(moveId,id+move)
                }
            }
        }
    }
})

我想将该字段定义为concat -INSIDE-模型。类似的东西:

Ext.define("moddie", {
    extend:'Ext.data.Model',
    config:{
        fields     : [
            "id",
            "move",
                    {name:"moveId",value:id+move}//can I, how should I define this?
        ]
    }
});

1 个答案:

答案 0 :(得分:4)

绝对。

Ext.define("moddie", {
    extend:'Ext.data.Model',
    fields: [
        { name: 'id' }, 
        { name: 'move' }, 
        { name: 'moveId', convert: function(v, r) {
           return r.get('id') + r.get('move');
        }}, 
    ]
});