2017-08-09 58 views
1

我創建了一個組合框,這些組合框都是我給出的組態。ComboStore未加載數據

displayField: 'TEXT', 
valueField: 'ID', 

這裏是我的商店

this.store = new Ext.data.Store({ 
    proxy: new Ext.data.HttpProxy({ 

     url: 'combodata.json', 
     actionMethods: { 
      read: 'GET' 
     }, 
     reader: new Ext.data.JsonReader({ 
      rootProperty: 'ROOT.TAG' 
     }) 
    }), 
     fields: [ 
        {name: 'ID', mapping: 'ID', type: 'string'}, 
        {name: 'TEXT', mapping: 'TEXT', type: 'string'} 
       ], 
     autoLoad: true 
    }); 

這裏是我的JSON

{ 
    "ROOT": { 
     "TAG": [{ 
      "ID": 01, 
      "TEXT": "ABC" 
     }, 
     { 
      "ID": 02, 
      "TEXT": "DEF" 
     }, 
     { 
      "ID": 03, 
      "TEXT": "GHI" 
     }] 
    } 
} 

我可以看到網址是進入響應和數據,但沒有在組合框中加載。即使數據不會存儲自己。任何人都可以幫助我爲什麼數據不能在組合中加載。 更新:

this.store = new Ext.data.Store({ 
      autoLoad: true, 
      fields: [ 
        {name: 'ID', mapping: 'ID', type: 'string'}, 
        {name: 'TEXT', mapping: 'TEXT', type: 'string'} 
       ], 
      proxy: new Ext.data.HttpProxy({ 

       url: 'adata.json',//this.url, 
       headers: { 
         'Accept': 'application/json; charset=utf-8' 
        }, 
       actionMethods: { 
        read: 'GET' 
       }, 
       reader: new Ext.data.JsonReader({ 
        root: 'ROOT' 
       }) 
      }) 
     }); 
+0

您是否已通過 .getStore()方法檢查控制檯是否存在已加載的商店。檢查其中存在的值是什麼 – Tejas

+0

存儲正在加載,但'store.data'沒有項目 – David

+0

@David請查看[queryMode](http://docs.sencha.com/extjs/6.0.1/classic/Ext.form.field.ComboBox.html#cfg-queryMode) –

回答

1

I made this fiddle,我從JSON文件加載組合。

請注意,在Assets文件夾中有商店加載的JSON文件data.json

正如Lorenz所評論的,有必要做一些改變,看看,希望我能幫助你!

+0

您可以將其作爲Ext 3 – David

+0

我沒有ExtJS 3,但是如果您知道fiddle.sencha.com這樣的地方,那裏有一個開發工具,我可以試試。 –

0

您的標籤表明您使用ExtJS的3.4。 rootProperty在該版本中不可用。改爲使用root

此外,我不認爲ExtJs 3.4已經允許指定一個嵌套的根,如root: 'ROOT.TAG',可能這是不可能的,你可以改變返回的JSON格式或升級到更新版本的ExtJs。

嘗試使用這種格式root: 'ROOT'

{ 
    "ROOT": [{ 
     "ID": 01, 
     "TEXT": "ABC" 
    }, 
    { 
     "ID": 02, 
     "TEXT": "DEF" 
    }, 
    { 
     "ID": 03, 
     "TEXT": "GHI" 
    }] 
} 
+0

感謝您的回答。我改變了但沒有運氣。如果我改變像this..' \t \t 響應'在這種情況下什麼我需要如何繼續。 – David

+0

您將JSON更改爲XML。我從來沒有用ExtJs來使用XML,所以我無法爲此提供幫助。但我更新了我的答案,指出應該有效的JSON格式。 –

+0

當然。我更新我的代碼..問題仍然沒有運氣。我再次更改爲json – David