将extjs组合框绑定到内部对象

时间:2012-11-20 18:41:53

标签: extjs extjs4

我的组合框总是只有一个分配给它的记录存储,它来自服务器,就像这样:

[
{
    "consulta_id": 23752, 
    "convenio_id": 1, 
    "data": "2012-07-11", 
    "id": 36569, 
    "paciente": {
        "nome": "Alvasole", 
        "id": 12
     }, 
    "tipo": 1
}, 
{
    "consulta_id": 23753, 
    "convenio_id": 61, 
    "data": "2012-07-11", 
    "id": 36579,
    "paciente": {
        "nome": "Felintoi", 
        "id": 33
     }, 
    "tipo": 1
}
]

在这种情况下,需要将商店分配给'paciente'对象(带有id和nome)。 我没有自动将其用于工作。

这种方式有效,但需要手动调用:

setData: function(data) {
    this.getStore().loadRawData(data.get('paciente'));
    this.select(this.getStore().getAt(0));
},

1 个答案:

答案 0 :(得分:0)

展平模型的一种方法是使用mapping属性并使用点表示法来获取嵌套对象的字段,如下所示:

Ext.define('MyApp.model.Paciente', {
    extend:'Ext.data.Model',
    fields:[
       {name:'id', mapping:'paciente.id'}
       ...
     ]
});