2012-11-20 18 views
1

我的組合框將始終只有一個記錄存儲分配給它,是來自服務器像這樣:綁定ExtJS的組合框的內部對象

[ 
{ 
    "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)); 
}, 
+0

你的問題是什麼? – dbrin

+0

如何將此內部對象自動加載到ComboBox存儲。 – Beetlejuice

+0

但是你這樣做:) – dbrin

回答

0

一種方法是使用mapping屬性,並使用點符號去這樣嵌套對象的字段:

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

但它只在我手動創建商店時才起作用。 – Beetlejuice

+0

你能解釋一下你的意思嗎? – dbrin