Scroller
可下拉刷新上拉加载的容器组件
示例
通用数据代码和回调示例
<template>
<div class="scroller-container">
<nut-scroller
:on-refresh="onRefresh"
:on-infinite="onInfinite">
<div v-for="(item, index) in list" :key="index" class="content-item">{{'滚动区域的内容' + (index + 1)}}</div>
</nut-scroller>
</div>
</template>
<style lang="scss">
.scroller-container {
position: relative;
width: 100%;
height: 300px;
background: #f2f2f2;
}
.content-item {
padding: 5px;
line-height: 20px;
background: #cccccc;
margin-bottom: 10px;
font-size: 14px;
}
</style>
export default {
data() {
retuen {
list: [...Array(10)]
}
},
methods: {
onRefresh(done) {
setTimeout(() => {
this.list = [...Array(10)]
done()
}, 2000)
},
onInfinite(done) {
setTimeout(() => {
if (this.list && this.list.length < 30) {
this.list = [...this.list, ...Array(10)]
done(true);
return
}
done(false) // 回传没有更多数据的标识
}, 2000)
}
}
}
示例
下拉刷新松开刷新数据
滚动区域的内容1
滚动区域的内容2
滚动区域的内容3
滚动区域的内容4
滚动区域的内容5
滚动区域的内容6
滚动区域的内容7
滚动区域的内容8
滚动区域的内容9
滚动区域的内容10
没有更多数据了
Props
参数 | 说明 | 类型 | 默认值 | 是否必传 |
---|---|---|---|---|
offset | 触发下拉刷新的阈值 | Number | 100 | 否 |
enableInfinite | 是否开启上拉加载 | Boolean | true | 否 |
enableRefresh | 是否开启下拉刷新 | Boolean | true | 否 |
onRefresh | 下拉刷新执行的函数 | Function | — | 如果开启下拉刷新功能,必传 |
onInfinite | 加载更多执行的函数 | Function | — | 如果开启上拉加载功能,必传 |
noDataText | 没有更多数据时的提示语 | String | 没有更多数据了 | 否 |
refreshText | 下拉刷新提示 | String | 下拉刷新 | 否 |
freedRefreshText | 释放下拉提示语 | String | 松开刷新数据 | 否 |
插槽
插槽名 | 说明 |
---|---|
refresh | 刷新时的效果或文字 |
load-more | 加载时的效果或文字 |