ExtJS模型 - 连接字段

时间:2013-09-26 14:45:13

标签: extjs extjs4

模型中是否有一种合理的方法可以连接两个字段,如下所示:

Ext.define('model.Person', {
    extend: 'Ext.data.Model',
    idProperty: 'Id',
    fields: [
        { name: 'Id', type: 'int' },
        { name: 'FirstName', type: 'string' },
        { name: 'LastName', type: 'string' },
        { name: 'FullName', type: 'string', mapping: 'FirstName + " " + LastName' }
    ]
});

我尝试了很多方法,但似乎无法使用。

我打算在模型中使用一个函数来将两个字段粘在一起,但是我还需要将它用作'itemselector'(自定义控件)中的显示字段并动态切换它并且控件看起来不像喜欢'FullName()'作为显示字段。

任何想法都非常感激。

1 个答案:

答案 0 :(得分:12)

使用Ext.data.Field的convert配置:http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Field-cfg-convert

{ name: 'FirstName', type: 'string' },
{ name: 'LastName', type: 'string' },
{
    name: 'FullName',
    type: 'string',
    convert: function( v, record ) {
       return record.get( 'FirstName' ) + ' ' + record.get( 'LastName' )
    }
}

以下是一个实例:https://fiddle.sencha.com/#fiddle/mf