バインドされた ExtJSgridanel
がありviewmodel store
ます。そのストアのモデルは、別のモデルを参照するフィールドを持つ定義済みモデルです。
簡単にするために、例を次に示します。
Ext.define('User', {
extend: 'Ext.data.Model',
fields: ['name']
});
Ext.define('Order', {
extend: 'Ext.data.Model',
fields: ['date', {
name: 'user',
reference: 'User'
}]
});
viewmodel: {
store: {
order: {
model: 'Order',
}
}
}
私gridpanel
には2つの列があります。1 つの列で、dataIndex: 'date'
正しく機能し、日付を表示します。ただし、2 番目の列では、ユーザーの名前を表示したいと考えています。どうすればいいのかわかりません。それuser field
自体はオブジェクト上にあるため、宣言は機能しdataIndex: user
ません。私は試しdataIndex: {user.name}
ましたが、それもうまくいきません。私も試してみました
bind: {
data: '{user.name}'
}
また、役に立たない。列の構成を使用して解決策を見つけましたrenderer
が、それは本当に見苦しく、適切なフィールドのデータ構造を手動でトラバースする必要がある場合、モデルが別のモデルを参照するという点に勝っています。
TL;DR 列がモデルdataIndex
のフィールドであることを宣言する方法を探しています。reference