# List 列表
# 使用指南
可下拉刷新,上拉加载的组件
# 代码演示
# 与h3-mobile-vue组件的区别以及迁移
旧组件库的h3-list
组件仅仅是一个列表式的包裹组件,实际用处不大,同时h3-scroll
组件功能依赖了mescroll.js
,为了更好的代码维护及功能升级,于是废弃旧组件h3-scroll
和h3-list
。将h3-scroll
组件的功能通过内部实现,移除了对mescroll.js
依赖,重构成新的h3-list
。
这是一个新组件。
TIP
- 组件滚动,即
prop:scroll = true
,则需要给组件设置高度,可通过style
或class
进行设置,或者给他的父节点设置高度。
.demo-list {
position: absolute;
bottom: 0;
width: 100%;
height: auto;
top: 40px; // 距离顶部距离
}
非组件滚动,需要设置
prop:scroll = false
,且父节点需要设置height
和overflow-y: auto;
。若是
window
滚动,则html
和body
,不能设置overflow-x: hidden;
。
# API
# Prop
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
loading | 组件是否处于加载状态,v-model 绑定值 | boolean | false |
downEnding | 组件是否处于下滑结束状态,.sync 绑定值,需要配合loadingText 使用,若是使用该值可以忽略对loading 的使用 | boolean | false |
upEnding | 组件是否处于上滑结束状态,.sync 绑定值,需要配合loadingText 使用,若是使用该值可以忽略对loading 的使用 | boolean | false |
downEndingDuration | 下滑结束状态展示时间,单位ms | number|string | 500 |
upEndingDuration | 上滑结束状态展示时间,单位ms | number|string | 1000 |
downFinished | 组件是否处于上滑完成状态,若无数据可加载可以设置为true ,一般在下拉加载而非刷新时用到 | boolean | false |
upFinished | 组件是否处于上滑完成状态,若无数据可加载可以设置为true | boolean | false |
lockDown | 是否锁定下滑 | boolean | false |
lockUp | 是否锁定上滑 | boolean | false |
downOffset | 下滑的触发加载距离,同时也是下滑加载状态时的展示高度 | number|string | 50 |
upOffset | 上滑的触发加载距离 | number|string | 10 |
pullingText | 拖动时候的提示文本 | string | 下拉刷新 |
loosingText | 建议释放的提示文本 | string | 释放更新 |
loadingText | 加载状态的提示文本,若上滑下滑不相同提示,则可以设置为对象{up:'上滑提示文本',down:'下滑提示文本'} | string|object | 加载中... |
endingText | 结束状态的提示文本,若上滑下滑不相同提示,则可以设置为对象{up:'上滑提示文本',down:'下滑提示文本'} | string|object | - |
finishedText | 完成状态的提示文本,若上滑下滑不相同提示,则可以设置为对象{up:'上滑提示文本',down:'下滑提示文本'} | string|object | 已加载全部数据 |
scroll | 是否本组件滚动 | boolean | true |
auto | 是否在初始化完毕后判断是否需要加载数据 | boolean | true |
# Event
事件名 | 说明 | 参数 |
---|---|---|
input | 加载状态时触发,将传入值loading 设置为true ,v-model 绑定事件 | value: boolean |
update:downEnding | 下滑加载状态时触发,将传入值prop:downEnding 设置为false ,.sync 绑定事件 | value: boolean |
update:upEnding | 上滑加载状态时触发,将传入值prop:upEnding 设置为false ,.sync 绑定事件 | value: boolean |
pullDown | 组件下滑 | - |
pullUp | 组件上滑 | - |
# Function
- 实例方法
方法名 | 说明 | 参数 |
---|---|---|
check | 检查是否到达上滑加载边界 | - |
checkByCount | 通过总数判断是否有下一页,返回值可作为finished状态判断依据,内部会调用checkByHasNext | currLoadedCount: 最近一次加载出来的数据数量, pageLimit: 每页限制条数, currPage: 当前页数,非页数下标,即若是使用的page是由0开始,需要加一传入, totalCount:总数 |
checkByPage | 通过页数判断是否有下一页,返回值可作为finished状态判断依据,内部会调用checkByHasNext | currLoadedCount: 最近一次加载出来的数据数量, pageLimit: 每页限制条数, currPage: 当前页数,非页数下标,即若是使用的page是由0开始,需要加一传入, totalPage:总页数 |
checkByHasNext | 通过hasNext判断是否有下一页,返回值可作为finished状态判断依据,该方法额外判断了最近一次加载出来的数据数量不小于每页限制条数的情况 | currLoadedCount: 最近一次加载出来的数据数量, pageLimit: 每页限制条数, hasNext:是否有下一页 |
# Slots
插槽名 | 说明 | SlotProps |
---|---|---|
down | 下滑提示插槽 | {distance: 向下滑动距离, status: 下滑提示状态,值为 readying pulling loosing loading ending finished 其中之一} |
up | 上滑提示插槽 | {status: 上滑提示状态,值为 readying loading ending finished 其中之一} |