2

我有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

4

0 回答 0