我有gridanel
一个viewmodel store
绑定到它的 ExtJS。该商店的模型是一个定义的模型,其中包含一个引用另一个模型的字段。
为了简单起见,这里有一个例子:
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
。