【问题标题】:ExtJS chained store filter not filtering [duplicate]ExtJS链式存储过滤器不过滤[重复]
【发布时间】:2019-12-23 19:21:17
【问题描述】:

组合框过滤器不起作用,我不知道为什么。我有两个组合框,一个是province,另一个是city。当我选择一个省份时,城市组合框将根据所选省份使用province_id进行过滤。

查看型号代码:

data: {
selectedProvince: null
},

stores: {
  province: {
    fields: [ 'province_id', 'province_name' ],
    proxy: {
      type: 'ajax',
      url: '*some url to province*',
      reader: {
        type: 'json',
        rootProperty: 'data'
      }
    }
  },

  city: {
    fields: [ 'city_id', 'city_name', 'province_id' ],
        proxy: {
      type: 'ajax',
      url: '*some url to city*',
      reader: {
        type: 'json',
        rootProperty: 'data',
      }
    },

  },

  filteredStore: {
    type: 'chained',
    source: '{city}',
    remoteFilter: false,
    filters: [{
      property: 'province_id',
      value: '{selectedProvince}'
    }],

  }
}

省组合框代码:

xtype: 'combobox',
label: 'Province',
valueField: 'province_id',
displayField: 'province_name',
bind: {
  store: '{province}',
  value: '{selectedProvince}'
}

城市组合框代码:

xtype: 'combobox',
label: 'City',
valueField: 'city_id',
displayField: 'city_name',
bind: {
  store: '{filteredStore}'
}

我试过这些:

https://fiddle.sencha.com/#fiddle/983&view/editor

https://fiddle.sencha.com/#view/editor&fiddle/2dt0

我还尝试将过滤器放在组合框中,如下所示:

xtype: 'combobox',
label: 'City',
valueField: 'city_id',
displayField: 'city_name',
bind: {
   store: '{filteredStore}',
   filters: {
      property: 'province_id',
      value: '{selectedProvince}'
    }
 }

而且,结果仍然没有被过滤。如果有帮助,我正在使用 extjs 7。谢谢

【问题讨论】:

标签: javascript extjs combobox viewmodel


【解决方案1】:

这是来自your other question的副本:

答案还在这个Fiddle

我更新了它以匹配您在此线程中的问题。

您必须将两个商店都设置为autoLoad: true,并将组合框设置为queryMode: 'local'

【讨论】:

    猜你喜欢
    • 2018-03-16
    • 2013-07-24
    • 2014-10-28
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2011-11-02
    • 1970-01-01
    相关资源
    最近更新 更多