javascript - 更新 ExtJS 中选项卡开关上的网格面板

标签 javascript extjs tabs

我有两个单独的选项卡(选项卡 A 和选项卡 B)。这两个选项卡共享一个存储,其中每个选项卡都位于各自的索引中。 [0] - A[1] - B

我的 Controller 在单击其菜单叶时初始化负载,例如:

oMe.control({
  '#role-permission-grid-panel': {

    edit: oMe.save,

    beforerender: oMe.loadData,

  },
  '#roles-applicationtype button': {
    click: oMe.filterByApplication
  }
});

applicationtype 按钮 是发生加载数据的选项卡切换的过滤器。

当 try catch 当前过滤器的值时, Controller 成功显示单击了哪个过滤器。但是,这不再刷新网格面板数据。

SampleGridPanel/view:

console.log('Application',oController.sDefaultToggle);

简单地说,我从 SampleController 更新数据,并尝试通过调用 filterApplication 从我的 SampleGridPanel 捕获数据。由于 initComponent,我的 SampleGridPanel 仅加载商店一次。我想将更新的数据(在本例中为选定的选项卡)从 Controller 传递到 View 。当我的 View 仅识别初始加载时的数据时,如何通知我的 View 发生了此更改?

我也有点困惑。在我的 Controller 上,当调用 oMe.loadData beforerender 时,它知道最后一个选项卡式值,但是当我从自定义过滤器调用 oMe.loadData 时函数,它不再重新加载整个商店。它只加载根据过滤器值过滤的信息。

最佳答案

您可以收听activatedeactivate选项卡面板的事件。这些在旧版本的 ExtJS 中也可用。

如果您使用 ExtJS 6,您确实应该考虑使用 ChainedStore .

  • 存储包含数据。
  • 网格不绑定(bind)到商店,而是绑定(bind)到每个 ChainedStore。
  • ChainedStore 将其源设置为商店,并使用不同的过滤器仅获取应在各自网格中显示的数据。

请注意,从 ExtJS 6.0.1 开始,当将 ChainedStoreGroupingFeatureCellEditing 组合时,ExtJS 中会出现一些错误。这些应该在 ExtJS 6.0.2 中修复。

关于javascript - 更新 ExtJS 中选项卡开关上的网格面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36834425/

相关文章:

javascript - 使用 jQuery(this).next() 显示/隐藏菜单中的下一个嵌套 UL

javascript - 如何使 redux-observable 在 ajax 请求之前和之后发送多个操作?

asp.net - 终止所有 session ,然后是应用程序结束事件

angularjs - [Angular JS]- 选项卡 Pane 示例 - 动态添加选项卡

jquery - 标签内容 : Open 'tab 5' from a link in 'tab 1'

javascript - 如何更改 for 循环中制作的圆圈的位置?

javascript - 使用 Dropzone 和 Laravel 上传产品

json - 将 JSON 数组附加到现有的 Extjs 数据存储网格面板

javascript - 如何从 ExtJS 包资源文件夹中获取自定义 JavaScript 文件

javascript - 动态制作除第一个和最后一个选项卡之外的选项卡