如何在extjs中动态添加模型中的关联

时间:2013-11-11 12:37:35

标签: extjs4 extjs4.2 extjs-mvc

我想根据字段的值添加模型上的关联。 例如:

我想添加像

这样的关联

父模型:

Ext.define('App.model.parentModel', {
    extend: 'Ext.data.Model',
    requires: [
        'App.model.ChildModel1',
        'App.model.ChildModel2',
    ],
    idProperty: 'type',
    fields: [
        'name',
        'type'
    ],
proxy:[//proxy]
});

我想添加像

这样的关联
hasMany:{
model:'App.model.ChildModel1' 
}

如果'type'字段的值是auto。

否则我想添加像

这样的关联
hasMany:{
model:'App.model.ChildModel2' 
}

如何在飞行中检查并添加关联?

1 个答案:

答案 0 :(得分:0)

我想到了两种方法。

您可以尝试的第一件事是使用模型的setFields()方法。我之前从未使用过这种方法,但根据文档看起来它可以满足您的需求。可以在此处找到一个示例:http://www.sencha.com/forum/showthread.php?189160-Ext.data.Model-setFields-not-Working-as-Expected

- 或 -

我过去做过的事情是创建2个使用'App.model.ChildModel1'的商店,而另一个商店使用'App.model.ChildModel2'。然后,您可以在面板/网格上使用reconfigure()并适当地为其存储。