模糊查询
-
对于模糊查询,一般都是传关键字给后端,由后端来做。但是有时候一些轻量级的列表前端来做可以减少ajax请求,在一定程度上提高用户体验。
clickSearch(keyWord) { var listArr = []; listArr = this.$store.state.tagInfo var keyWordArr = [] var obj = {} listArr.filter((item) => { obj = {} obj.TAG_DATA = item.TAG_DATA.filter((sitem) => { obj.TAG_LEVEL_NAME = item.TAG_LEVEL_NAME return sitem.TAG_NAME.toUpperCase().includes(keyWord.toUpperCase()) }) if (obj.TAG_DATA.length > 0) { keyWordArr.push(obj) } }) console.log(keyWordArr, '168=====') if (keyWord) { this.list = keyWordArr } else { this.list = this.$store.state.tagInfo } keyWordArr.forEach((item, index) => { console.log(index, 'index') this.activeNames.push(index) }) },
总结:首先要明白什么是模糊查询,就是根据关键字把列表中符合关键字的罗列出来(当然这里只做了最简单的),也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串。