Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ExtJS中更新选项卡开关上的网格面板_Javascript_Extjs_Tabs - Fatal编程技术网

Javascript 在ExtJS中更新选项卡开关上的网格面板

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

我有两个单独的选项卡(选项卡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按钮
是对加载数据进行选项卡切换的过滤器

尝试捕获当前筛选器的值时,控制器成功显示单击了哪个筛选器。但是,这将不再刷新网格面板数据

采样网格面板/视图

console.log('Application',oController.sDefaultToggle);
简单地说,我从
SampleController
更新数据,并通过调用
filterApplication
尝试从
SampleGridPanel
捕获数据。My
SampleGridPanel
由于
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。当选项卡切换时,我需要重新检查加载的值。问题是,一旦加载,它就不再遍历这些值。例如,有没有一种方法可以让我的工具栏触发一个单击事件,然后检查这些值,以及它是否满足添加/删除元素(即按钮项)的要求?