feat: fuse.js from 3.6.1 to 5.2.3 & 完善页面搜索相关代码

This commit is contained in:
FairyEver
2020-05-08 09:20:23 +08:00
parent 9e61f306f2
commit 79e43a69d8
4 changed files with 18 additions and 28 deletions

View File

@@ -66,25 +66,10 @@ export default {
value: e.fullTitle,
...e
})) : this.results
}
},
methods: {
/**
* @description 过滤选项 这个方法在每次输入框的值发生变化时会触发
*/
querySearch (queryString, callback) {
var pool = this.pool
const results = this.query(queryString ? pool : [], queryString)
this.results = results
callback(results)
},
/**
* @description 指定的数据源中根据指定的查询字符串过滤数据
* @param {Object} pool 需要过滤的数据
* @param {String} queryString 查询字符串
*/
query (pool, queryString) {
return new Fuse(pool, {
// 根据 pool 更新 fuse 实例
fuse () {
return new Fuse(this.pool, {
shouldSort: true,
tokenize: true,
threshold: 0.6,
@@ -97,11 +82,16 @@ export default {
'path'
]
})
.search(queryString)
.map(e => ({
value: e.fullTitle,
...e
}))
}
},
methods: {
/**
* @description 过滤选项 这个方法在每次输入框的值发生变化时会触发
*/
querySearch (queryString, callback) {
const results = this.fuse.search(queryString).map(e => e.item)
this.results = results
callback(results)
},
/**
* @description 聚焦输入框