我有两个单独的标签(标签A和标签B)。这两个标签共享一个商店,其中每个商店都在各自的索引中。 [0] - A
和[1] - B
。
我的控制器在点击菜单页面时初始化负载,例如:
oMe.control({
'#role-permission-grid-panel': {
edit: oMe.save,
beforerender: oMe.loadData,
},
'#roles-applicationtype button': {
click: oMe.filterByApplication
}
});
applicationtype button
是加载数据的标签切换发生的过滤器。
当尝试捕获当前过滤器的值时,控制器成功显示单击了哪个过滤器。但是,这不再刷新网格面板数据。
SampleGridPanel / view :
console.log('Application',oController.sDefaultToggle);
简而言之,我更新了SampleController
中的数据,并尝试通过调用SampleGridPanel
从我的filterApplication
抓取数据。由于SampleGridPanel
,我的initComponent
仅加载商店一次。我想将更新的数据(在本例中为选定的标签)从controller
传递到view
。如何在仅识别初始加载数据时发生此更改通知我的观点?
我也有点困惑。在我的控制器上,当调用oMe.loadData
beforerender
时,它知道最后一个标签值,但是当我从自定义过滤器函数调用oMe.loadData
时,它不再重新加载整个商店。它仅根据过滤器值加载过滤后的信息。
答案 0 :(得分:1)
您可以收听标签面板的activate
和deactivate
事件。这些也可以在旧版本的ExtJS中使用。
如果您使用的是ExtJS 6,则应该考虑使用ChainedStore
。
请注意,自ExtJS 6.0.1起,ExtJS中存在将ChainedStore
与GroupingFeature
或CellEditing
合并时出现的错误。这些应该在ExtJS 6.0.2中修复。