根据官方文档提供的的一下写法,自动提示的匹配机制是从第一个字开始匹配
querySearch(queryString, cb) {
var restaurants = this.restaurants;
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
};
}
这是例子的中算法。其实很简单,就是indexOf的简单应用。
这个===0只能从开头匹配。全字段匹配就要改成>-1