我正在使用此参数在不区分大小写模式下进行引导输入预搜索。
matcher: function(item) {
return true
}
我适用于像输入“e”这样的重音搜索也搜索é,è,ë,ê等......但不适用于大写小写=>输入“g”不寻找“G”......
有没有其他参数?
我正在使用此参数在不区分大小写模式下进行引导输入预搜索。
matcher: function(item) {
return true
}
我适用于像输入“e”这样的重音搜索也搜索é,è,ë,ê等......但不适用于大写小写=>输入“g”不寻找“G”......
有没有其他参数?
好的,这是我使用 Paul 的解决方案所做的:
matcher: function(item) {
if (item.toLowerCase().indexOf(this.query.trim().toLowerCase()) != -1) {
return true;
}
if (item.toUpperCase().indexOf(this.query.trim().toUpperCase()) != -1) {
return true;
}
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
query = query.replace(/a/ig, '[a\341\301\340\300\342\302\344\304]');
query = query.replace(/e/ig, '[e\351\311\350\310\352\312\353\313]');
query = query.replace(/i/ig, '[i\355\315\354\314\356\316\357\317]');
query = query.replace(/o/ig, '[o\363\323\362\322\364\324\366\326]');
query = query.replace(/u/ig, '[u\372\332\371\331\373\333\374\334]');
query = query.replace(/c/ig, '[c\347\307]');
if(item.toLowerCase().match(query.toLowerCase())){
return true;
}
}
有了这个,你就有了一个真正不敏感的情况。我把主要的特殊字符。您可能需要为匹配添加额外的字符。
嗨我有同样的问题并以这种方式解决了我的问题:
匹配器:功能(项目){ if (item.toLowerCase().indexOf(this.query.trim().toLowerCase()) != -1) { 返回真; } }