同じコンテナー内の同じストアからのデータを表示しようとしているこのクラスを取得しました。2 つの行をそれぞれ別の行に配置したいのですが、それらをあまり制御できなかったので、このようにしました。クラスは次のとおりです。
Ext.define('Clue.view.ListQuestions', {
extend: 'Ext.Container',
requires: ['Ext.dataview.List'],
xtype: 'listquestions',
config: {
id: 'listquestions',
items: [{
xtype: 'list',
id: 'questionLi1',
baseCls: 'questionLi1',
flex: 1,
store: {
xtype: 'levelstore',
filters: [{
filterFn: function(item) {
return item.data.levelId < 2 && item.data.questionId < 6;
}
}]
},
itemTpl: '<div>{questionId}</div>'
},{
xtype: 'list',
id: 'questionLi2',
baseCls: 'questionLi2',
flex: 1,
store: {
xtype: 'levelstore',
filters: [{
filterFn: function(item) {
return item.data.levelId < 2 && item.data.questionId > 5;
}
}]
},
itemTpl: '<div>{questionId}</div>'
}]
}
})
2 番目のリストを削除すると、最初のリストが表示されます。それ以外の場合、最初のリストは表示されません。私が間違っていることは何ですか?ここに店があります:
Ext.define('Clue.store.LQuestions', {
extend: 'Ext.data.Store',
xtype: 'levelstore',
requires: ['Ext.data.proxy.LocalStorage'],
config: {
model: 'Clue.model.LQuestions',
storeId: 'levelStore',
sorters: [{
property: 'levelId',
direction: 'ASC'
}],
proxy: {
type: 'localstorage',
id: 'levelstorage'
}
}
})
その他の詳細
questionLi1 と questionLi2 とその項目に css を追加しました。3px の赤枠。リストはスペースを取っていますが、最初のリストには要素がありません( html にもありません) 2番目のリストは正常にレンダリングされます。最初のfilterFn関数にconsole.log()を配置すると、何も表示されない..だから、何かを上書きするかもしれないと思っていた...
これは私が得るものです
もしそうなら:
...
flex: 1,
/*store: {
xtype: 'levelstore',
filters: [{
filterFn: function(item) {
return item.data.levelId < 2 && item.data.questionId > 5;
}
}]
},*/
itemTpl: '<div>{questionId}</div>'
...
私が得る2番目のリストで