我有一个绑定gridanel
的ExtJS 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列。在一列中,dataIndex: 'date'
正常工作,显示日期。但是,在我的第二列中,我想显示用户的名称。我不知道该怎么做。 user field
本身位于对象上,因此声明dataIndex: user
不起作用。我试过dataIndex: {user.name}
,但这也不起作用。我甚至试过
bind: {
data: '{user.name}'
}
也无济于事。我已经找到了使用列的renderer
配置的解决方案,但是如果我必须手动遍历适当字段的数据结构,那么它真的很难看并且有一个模型引用的点。
TL; DR
我正在寻找一种方法来将列dataIndex
声明为reference
模型中的字段。