小程序

小程序开发长列表渲染慢

2022-05-28  本文已影响0人  imniusir

最近使用uniapp开发了一个小程序项目,小程序项目中有一个功能中有个100多条的列表,这个列表总是展示很慢,刚开始我以为是后台返回结果慢,后来测试发现是渲染慢,网上搜索说是v-for渲染的问题,建议加上key属性。但是我加了key属性后并没有解决问题,进一步了解发现key属性只在二次渲染的时候起作用,于是我转念一想我把这100条数据分页加载不就行了,但是由于vue的渲染触发机制,分页加载并没有起作用,于是我进步探究,终于使用延时分页加载解决了这个问题,分享给大家这段代码。哈哈

    navdelay(data,ipage,istart,delay){
        //延时加载
        if(istart != 0){
        istart++
       }
        for(let i=istart;i<data.length;i++){
        this.dzlrlist.push(data[i]);
        istart = i
        console.log(istart)
        if(i!=0 && i%ipage == 0){
        break
        }
        }
        if(this.dzlrlist == data.length){
        return
        }
        setTimeout(()=>{
        this.navdelay(data,ipage,istart,delay)
        },200+delay)
     }
上一篇 下一篇

猜你喜欢

热点阅读