Javascript 在ExtJS中更新选项卡开关上的网格面板
我有两个单独的选项卡(选项卡A和选项卡B)。这两个选项卡共享一个存储区,其中每个选项卡都位于各自的索引中<代码>[0]-A和Javascript 在ExtJS中更新选项卡开关上的网格面板,javascript,extjs,tabs,Javascript,Extjs,Tabs,我有两个单独的选项卡(选项卡A和选项卡B)。这两个选项卡共享一个存储区,其中每个选项卡都位于各自的索引中[0]-A和[1]-B 我的控制器在单击其菜单叶时初始化加载,例如: oMe.control({ '#role-permission-grid-panel': { edit: oMe.save, beforerender: oMe.loadData, }, '#roles-applicationtype button': { click: oMe.fi
[1]-B
我的控制器在单击其菜单叶时初始化加载,例如:
oMe.control({
'#role-permission-grid-panel': {
edit: oMe.save,
beforerender: oMe.loadData,
},
'#roles-applicationtype button': {
click: oMe.filterByApplication
}
});
applicationtype按钮
是对加载数据进行选项卡切换的过滤器
尝试捕获当前筛选器的值时,控制器成功显示单击了哪个筛选器。但是,这将不再刷新网格面板数据
采样网格面板/视图:
console.log('Application',oController.sDefaultToggle);
简单地说,我从SampleController
更新数据,并通过调用filterApplication
尝试从SampleGridPanel
捕获数据。MySampleGridPanel
由于initComponent
的原因,仅加载存储一次。我想将更新的数据(在本例中为所选选项卡)从控制器
传递到视图
。当视图仅识别初始加载时的数据时,如何通知视图发生了此更改
我也有点困惑。在我的控制器上,当在PreRender之前调用oMe.loadData
时,它知道最后一个选项卡值,但当我从自定义筛选函数调用oMe.loadData
时,它不再重新加载整个存储。它只加载基于筛选值的筛选信息。您可以收听选项卡面板的和事件。旧版本的ExtJS中也提供了这些功能
如果你使用ExtJS 6,你应该考虑使用.< /P>
- 存储区包含数据
- 网格不绑定到存储,而是每个网格绑定到一个ChainedStore
- ChainedStores将其源设置为store,并使用不同的过滤器仅获取应显示在各自网格中的数据
请注意,从ExtJS 6.0.1开始,当将ChainedStore
与GroupingFeature
或CellEditing
组合时,ExtJS中出现了一些bug。这些应该在ExtJS 6.0.2中修复。我正在使用ExtJS 4.2。当选项卡切换时,我需要重新检查加载的值。问题是,一旦加载,它就不再遍历这些值。例如,有没有一种方法可以让我的工具栏触发一个单击事件,然后检查这些值,以及它是否满足添加/删除元素(即按钮项)的要求?