更新记录

1.0.0(2024-02-13)

展示长列表,当列表即将滚动到底部时,会触发事件并加载更多列表项


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

song-lazyLoadList

用于展示长列表,当列表即将滚动到底部时,会触发事件并加载更多列表项。开箱即用,最简单的列表懒加载组件。

代码演示

基础用法

<script setup>
  const useGetList = () => {
    const list = ref([])
    const totals = ref(0)
    const getList = async (pageNum) => {
      const { rows, total } = await getListPatrolRecord({
        pageNum: pageNum ? pageNum : 1,
        pageSize: 20,
      })
      list.value = list.value.concat(rows)
      totals.value = total
    }
    return {
      list,
      totals,
      getListPatrolRecords,
    }
  }
  const { list, getList, totals } = useGetList()
</script>

<template>
   
  <view>
       
    <song-lazyLoadList
      @loadMore="getList"
      :total="totals"
      :pageNum="1"
      :pageSize="20">
           
      <song-item
        v-for="item in list"
        :title="item.name"
        :content="item.content"></song-item>
         
    </song-lazyLoadList>
     
  </view>
</template>

注意

  • 获取到的列表需要这么拼接起来: list.value = list.value.concat(rows)
  • 初次展示页面要进行一次请求 onLoad(() => getList())

song-lazyLoadList 属性

属性名 说明 类型 默认值
total 总页数 number 0
pageNum 当前是第几页 number 1
pageSize 一页显示多少条 number 20

song-lazyLoadList 事件

事件名 说明
@loadMore 触底的时候进行网络请求

song-item 属性

属性名 说明 类型 默认值
title 每一项的标题文字 string -
content 每一项的说明文字 string -
more 是否显示右边的 icon Boolean true

自定义 content 内容

如果 content 需要展示图片或者其他更复杂的内容则可以自定义内容。 content 属性去掉,在默认插槽里加任意内容

<song-item v-for="item in list" :title="item.name">
  <view class="content">
    <!---相关内容..... -->
  </view>
</song-item>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问