ExtJS模型-连接字段

ExtJS模型-连接字段,extjs,extjs4,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'

在模型中是否有一种合理的方式来连接两个字段,类似这样:

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”(自定义控件)中的displayfield,并动态切换该字段,而该控件似乎不喜欢“FullName()”作为displayfield


非常感谢您的任何想法。

使用Ext.data.Field的
convert
配置:


这里有一个活生生的例子:

太好了,谢谢你,这正是我想要的。不幸的是,我注意到它在向存储区发出请求时附加了新属性,因此复合值出现了,这正是我试图避免的,无论哪种方式,这都是一个很好的答案。为了防止该字段作为请求的一部分提交,只需将persist:false添加到字段定义中即可。更正:转换后的字段没有出现问题,我没有更新服务器端代码!
{ name: 'FirstName', type: 'string' },
{ name: 'LastName', type: 'string' },
{
    name: 'FullName',
    type: 'string',
    convert: function( v, record ) {
       return record.get( 'FirstName' ) + ' ' + record.get( 'LastName' )
    }
}