我似乎无法找到一种方法来要求过滤选择输入具有一定的长度.我试过这样的:
new dijit.form.FilteringSelect({
'name': 'bla',
'store': jsonRestStore,
'searchAttr': "name",
'pattern': '.{3,}',
'regExp': '.{3,}'
});
Run Code Online (Sandbox Code Playgroud)
但它并没有改变一件事.我希望过滤选择仅查询商店,如果已输入至少3个字符.不能那种异国情调的要求,可以吗?该商店后面有数以千计的商品,所以只用1或2个字符查询就很慢了.
我做了一些搜索,并在dojo邮件列表上找到了这篇文章.总而言之,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);
}
Run Code Online (Sandbox Code Playgroud)
此外,在 API文档中,还有一个searchDelay属性,可以帮助您最大限度地减少查询次数.
searchDelay
Delay in milliseconds between when user types something and we start searching based on that value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1462 次 |
| 最近记录: |