2013-11-11 3 views
0

Я хочу добавить ассоциации на модели, основанные на значении поля. Например:Как добавить ассоциации в модели динамически в extjs

Я хочу, чтобы добавить ассоциации как

Родитель Модель:

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' 
} 

если мое значение поля 'типа' является автомобиль.

Else Я хочу, чтобы добавить ассоциации как

hasMany:{ 
model:'App.model.ChildModel2' 
} 

Как я могу проверить это на лету и добавить ассоциации?

ответ

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() на панели/сетке и придать ему магазин соответствующим образом.

Смежные вопросы