いてづきブログ

情シスでやってみたことの備忘録

sencha touchのmodelに表示用のフィールドを追加する

サーバーから取得されるのが,'firstname'、'lastname'だけで、表示用にfullnameを使用する場合のサンプル。
fieldにconvertを定義して、表示させる文字列を返す。
第一引数が、変換前にこのフィールドに入っていた値(value)。
第二引数が、このレコード自体。(record)

サンプルはこんな感じ。

Ext.define('Person', {
extend: 'Ext.data.Model',
fields: [
{ name: 'fullname', convert: function (v, r) {
return r.get('firstname') + r.get('lastname');
}
},
{ name: 'firstname', mapping: 'name.first' },
{ name: 'lastname', mapping: 'name.last' },
]
});


複数のフィールドにconvertを書いた場合どういう順番で処理されるのかは試してみないとわからないかも…(普通やらないと思うけど)



API Docはこちら
Touch 2.0.1 - Sencha Docs