如何清除更改tab-extjs的过滤器

时间:2019-03-01 12:52:55

标签: extjs extjs4.2

我正在extjs中编写新标签,它是前一个标签的副本,但数据将相同。

使用route.jsp文件从一个选项卡移动到另一选项卡

说标签A是旧的,标签B是新的,两者都使用相同的route.jsp(路由器)

GLOBAL_PERSON_FILTERS = ['name' 'age']

这是用于A选项卡

this.MGridFilter = {
          ftype : 'filters',
          encode : true, // json encode the filter query
          local : true, // defaults to false (remote filtering)
          filters : [
              {
                type : 'list',
                dataIndex : 'endview',
                options : Indigo.GLOBAL_PERSON_FILTERS
              },

也为Tab B复制了相同的内容,但选项名称已更改

 GLOBAL_TEST_PERSON_FILTERS = ['designation' 'company']

this.MGridFilter = {
          ftype : 'filters',
          encode : true, // json encode the filter query
          local : true, // defaults to false (remote filtering)
          filters : [
              {
                type : 'list',
                dataIndex : 'endview',
                options : Indigo.GLOBAL_TEST_PERSON_FILTERS
              },

但是我面临的问题是当我检查选项卡B选项卡A中的过滤器时也受到影响

请帮助我解决这个问题

1 个答案:

答案 0 :(得分:0)

如果在同一商店上使用过滤器,则它总是会受到影响(将在何处使用过滤器没有区别)。 您可以使用Tab B上的Ext.data.ChainedStore来复制Tab A上的副本存储(过滤器链式存储不会影响Tab A上的Store)。

它看起来像:

Ext.create('Ext.data.ChainedStore', {
    source: TabA.Store // Here store from tab A
});