点击加载更多,数据列表分批次加载

         <template v-for="res in this.collectList" >
                      <el-tooltip placement="top"  v-if="res.relicname.length>10">
                        <div slot="content"> {{res.relicname}} &nbsp;{{res.reliccode}}</div>
                        <el-button class="greenbgc" size="small" @click="expendcollect(res)"  >
                          {{(res.relicname +' '+ res.reliccode)|ellipsis}}
                        </el-button>
                      </el-tooltip>

                      <el-button class="greenbgc" size="small" @click="expendcollect(res)" v-else >
                        {{res.relicname}} &nbsp;{{res.reliccode}}
                      </el-button>
                    </template>

                    <div style="text-align: center;text-decoration: underline;padding-top: 10px;font-size: 16px" >
                      <div v-if="showmore">没有更多了</div>
                      <a v-if="!showmore" @click="loadMore" style="cursor:pointer">加载更多</a>
                    </div>

其中包括用ellipsis将长数据过滤为… typescript 语言下需要在component中定义过滤器

@Component({
  name: 'searchResult',
  components: {
    SearchType,
    Fold
  },
  filters:{
    ellipsis(value:any, len=5){
      if (!value) return ''
      if (value.length > len) {
        return value.slice(0, len) + '...'
      }
      return value
    }
  }
})

加载更多代码如下:

 async loadMore() {
    this.collectPageNum=this.collectPageNum+1
    let param = {
      text: this.textres,
      indexType: 'sjzy_relic',
      searchmodule:'quanku',
      pageSize: this.collectPageSize,
      pageNum: this.collectPageNum ,
    }
    await this.searchApi.getRelic(param).then((ref: any) => {
        if (ref.data.code === 0) {
          if(ref.data.data.alldata.length>0){
            this.collectList=this.collectList.concat( ref.data.data.alldata)
          }
          else{
           this.showmore=true
          }

        }
      }
    )
  }

}

每次请求则将当前页码+1,并将请求完的后台数据与当前显示的数据连接起来,如果请求到当前页没有结果,就不在显示“加载更多”而应该显示“没有更多了”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值