我有一個簡單的組合框內的內聯商店。該商店有一些默認的內聯數據。現在我正在尋找一個事件,一旦創建商店就會被解僱,並且此事件需要向我提供商店中的數據。ExtJs:獲取商店創建的商店數據
我想它是這樣的:
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose',
store: {
autoLoad: true,
fields: [
{name: 'name', type: 'string'}
],
data : [
{"name":"TestName_A"},
{"name":"TestName_B"},
{"name":"TestName_C"},
],
listeners: {
load: function(store) {
let records = store.getData()
records.forEach(record => {
console.log(record.getField('name'))
})
}
}
},
queryMode: 'local',
valueField: 'name',
displayField: 'name',
renderTo: Ext.getBody()
});
但它不工作。 store.getData()
似乎沒有包含我的記錄。
有我的小提琴: https://fiddle.sencha.com/?fiddle=v7#fiddle/1h53
更改您的加載代碼()函數來store.getData()項目收到您的記錄。 – xdn
它返回一個空數組,一段時間之後,空突然包含3個構造函數。跆拳道? https://fiddle.sencha.com/?fiddle=v7#fiddle/1h74(當調試器斷點被擊中時,數組是空的,一旦你恢復執行,它包含一個構造函數數組。) – Forivin
如果你想迭代商店記錄,使用'store.each'。 'getField'也會返回一個字段配置,你可能需要'get'。 –