如何在Dojo中过滤/查询FilteringSelect

时间:2015-12-16 22:16:28

标签: javascript dojo filtering

我正在尝试更改过滤选择的数据存储的查询,以便下拉列表仅显示使用查询查询的值(请注意,我甚至无法使用非查询-regex查询):

var query = {
    id: new RegExp("^(1|12)$")
};

请参阅此JSFiddle

请注意,我不想使用

fetch结果集
dropdown.store.fetch({query: query, onComplete: function(results) {} });

我希望结果在下拉列表中过滤

尽管查看了this以及其他一些相关问题,但我无法获得适用于FilteringSelect的解决方案。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:3)

要做我想做的事情,你必须查询FilteringSelect ,而不是商店。

dropdown.query.id = /^(1|12)$/;

但更好的是,这适用于所有查询,而不仅仅是正则表达式,因为函数可以是任何函数:

dropdown.query.id = {
   test: function (id) {
          return [1, 12].indexOf(id) > -1;
   }
};

注意:此query属性继承自dijit/form/_SearchMixin。查看FilteringSelect的属性。