赞
踩
微信小程序滚动加载拓展组件,对官方方案进行了以下优化:
npm i mini-scrolling-loading --save
{
"usingComponents": {
"mini-scrolling-loading": "mini-scrolling-loading/index",
"scrolling-item": "/components/scroll-item/index"
}
}
scrolling-item(组建名可自定义)组建为开发者自定义的列表单个item样式组建,mini-scrolling-loading采用抽象节点方式进行渲染,例如:
<view class="scroll-view-item" catchtap="delItem" mark:id="{{item.id}}">{{item.title}}</view>
Component({
properties: {
item: Object // 变量名需使用item
},
methods: {
delItem(e: { mark: { id: number}}) {
const {id} = e.mark
this.triggerEvent('delItem', {id}) // 如果有使用删除,在删除成功后,需派发delItem事件,传入删除的主键id即可,组建会无刷新更新列表。
}
}
})
3.WXML 文件中引用 mini-scrolling-loading
<mini-scrolling-loading generic:sitem="scrolling-item" perpage="{{20}}" api="{{getData}}"></mini-scrolling-loading>
字段名 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
api | Function | 是 | - | API接口请求Promise函数 |
page | Number | 否 | 1 | 分页 |
perpage | Number | 否 | 10 | 页码 |
perpageKey | String | 否 | perpage | 分页参数字段,例如pageSize |
idKey | String | 是 | id | 能代表唯一标识的字段名 |
query | Object | 否 | {} | 查询额外字段参数 |
height | String | 是 | 100vh | 可视容器高度 |
itemHeight | number | 是 | 40 | 单个Item高度,单位px |
enUpper | Boolean | 否 | false | 开启下拉刷新 |
apiError | Function | 否 | - | api请求失败回调 |
delSuccess | Function | 否 | - | 删除成功回调 |
用微信开发者工具导入以下代码片段:
https://developers.weixin.qq.com/s/r4BBrfmF7NIF
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uy25Alkn-1684226192576)(https://github.com/WGinit/mini-scrolling-loading/blob/master/src/assets/del-item.png)]
Demo
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uwgBX47g-1684226192577)(https://github.com/WGinit/mini-scrolling-loading/blob/master/src/assets/virtual-demo.gif)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LqOZZDzx-1684226192578)(https://github.com/WGinit/mini-scrolling-loading/blob/master/src/assets/virtual.png)]
类名 | 描述 |
---|---|
custom-class | 根结点样式 |
name | 描述 |
---|---|
loading | 加载中 |
loading-finish | 加载结束 |
empty | 暂无数据占位 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。