我似乎无法找到一种方法来要求过滤选择输入具有一定的长度.我试过这样的: new dijit.form.FilteringSelect({ 'name': 'bla', 'store': jsonRestStore, 'searchAttr': "name", 'pattern': '.{3,}', 'regExp': '.{3,}'}); 但
new dijit.form.FilteringSelect({ 'name': 'bla', 'store': jsonRestStore, 'searchAttr': "name", 'pattern': '.{3,}', 'regExp': '.{3,}' });
但它并没有改变一件事.我希望过滤选择仅查询商店,如果已输入至少3个字符.不能那种异国情调的要求,可以吗?该商店后面有数以千计的商品,所以只用1或2个字符查询就很慢了.
我做了一些搜索,在dojo邮件列表上找到了 this post.总而言之,FilteringSelect无法为其提供本机支持,但它实现起来非常简单.// custom min input character count to trigger search minKeyCount: 3, // override search method, count the input length _startSearch: function (/*String*/key) { if (!key || key.length < this.minKeyCount) { this.closeDropDown(); return; } this.inherited(arguments); }
同样在API Docs中,有一个searchDelay属性,可以帮助您最大限度地减少查询次数.
searchDelay Delay in milliseconds between when user types something and we start searching based on that value