最近我的一个项目中要中大量的数据中搜索其中的几个出来,所以我一开始就想到用mui的通讯录做,开始一切也不是很顺利,但是做出来的效果还是可以,可以从我的数据库中搜索出数据来,但是我把1000多条数据加入到数据库过后,发现搜索时出现了卡顿的现象。
于是我就百度看一下有没有解决的办法,发现这类问题的帖子十分的少,但是我看到一篇帖子的问题跟我一模一样,就是没有解决的问题。所以后来就放弃了在网上查找。
后来我就自己想了一个办法,我可以监听input框中变化,然后根据变化的量从后端传过来的数据中找出来放在一个数组中,然后再进行遍历出来。果然最后就是这种发放成功了,搜索起来一点也不卡顿。
这是我的输入框代码,样式这里就不贴了,
这是我监听input框中的代码,输出this.value就是你的输入的内容,你可以自己试下。
接下来就是找到要搜索的内容,
我另外写了一个方法将后端的数据取出来并且放在了缓存中,我们就可以从缓冲中获取全部的值了。
for循环就是我要搜索的值,然后存入result中。
接下来就是渲染,这是我加的一个判断,因为我开始的时候没有加,当我input框中没有值的时候还是有很多的内容出来,所以做一个判断将result情况和页面清空。加上这个本来有一点卡顿也不卡了。
最后就是真正渲染页面的时候了,渲染完过后别忘了将result数组清空。避免内容一直累加。
mui的通讯录遇到几百条数据,或者更多的时候的确会卡顿,但是用了我上面的方法就不会了,我的数据总共有4000多条,搜索时一点也不卡顿。