在 extjs 6 中如何实现 store 的多个实例分配到同一个网格。
我创建了一个网格并通过在该视图的视图模型中创建商店来绑定商店,并通过“绑定”进行绑定
现在我想在多个选项卡中打开相同的网格..以便用户可以在两个差异选项卡中看到差异数据..因为我使用相同的网格和相同的商店如何实现这一点。
你没有。将不同的网格实例放在不同的选项卡中,每个选项卡都有自己的商店。
我想如果你真的必须这样做,你可以使用 tabchange 事件在选项卡更改时将商店换出,但这很麻烦。
为什么你坚持只有一个网格实例?你想达到什么目的?
好吧,通常情况下,您define
将网格一次:
Ext.define('MyApp.view.Grid.ContentGrid',{
extend:'Ext.grid.Panel',
xtype:'ContentGrid',
initComponent:function() {
var me = this;
Ext.apply(me,{
columns:[{
...
}],
listeners:{
cellcontextmenu: function() {
}
}
});
me.callParent(arguments);
}
});
然后,在视图中,您可以通过组件层次结构定义(或多或少静态)或 Ext.create(在运行时)尽可能频繁地使用它:
Ext.define('Ext.Window',{
layout:'card',
items:[{
xtype:'ContentGrid',
store:'ABCStore',
},{
xtype:'ContentGrid',
store:'DEFStore',
}],
listeners:{
boxready:function(window) {
window.add(
Ext.create('MyApp.view.Grid.ContentGrid',{
store:'GHIStore'
})
);
}
}
});