6

モデルで 2 つのフィールドを連結するための賢明な方法はありますか?

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' }
    ]
});

私は多くの方法を試しましたが、うまくいかないようです。

モデルで関数を使用して 2 つのフィールドを結合するつもりでしたが、これを「itemselector」(カスタム コントロール) 内の表示フィールドとして使用し、これを動的に切り替える必要があります。 FullName()' を表示フィールドとして使用します。

どんな考えでも大歓迎です。

4

1 に答える 1

14

convertExt.data.Field の構成を使用します: 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

于 2013-09-26T15:11:55.350 に答える