如何 filter/query Dojo 中的 FilteringSelect

How to filter/query a FilteringSelect in Dojo

我正在尝试更改过滤 select 的数据存储的查询,以便下拉列表仅显示使用此类查询查询的值(请注意,我不能甚至让它与非正则表达式查询一起工作):

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

看到这个JSFiddle

请注意,我不想fetch结果集使用

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

我希望结果在下拉菜单中过滤

尽管查看了 this 和其他几个相关问题,但我无法获得适用于我想要的 FilteringSelect 的解决方案。感谢任何帮助。

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

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

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

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

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

的属性