私は、単純なコンボボックスの内部にあるインラインストアを持っています。このストアには、デフォルトのインラインデータがあります。今私は、ストアが作成され、このイベントがストアにあるデータを私に供給する必要があると解雇されるイベントを探しています。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つのコンストラクタが含まれます。 WTF? https://fiddle.sencha.com/?fiddle=v7#fiddle/1h74(デバッガブレークポイントがヒットした場合、配列は空です。実行を再開すると、コンストラクタの配列が含まれます) – Forivin
ストアレコードは、 'store.each'を使用します。また、 'getField'はフィールド設定を返します。おそらく' get'が必要です。 –