mirror of
https://github.com/youzan/vant.git
synced 2025-10-18 17:51:54 +00:00
2.8 KiB
2.8 KiB
Waterfall 瀑布流
使用指南
全局注册
import Vue from 'vue';
import { Waterfall } from 'vant';
Vue.use(Waterfall);
局部注册
如果你只是想在某个组件中使用Waterfall
,可以在对应组件中注册Waterfall
指令,这样只能在你注册的组件中使用Waterfall
:
import { Waterfall } from 'vant';
export default {
directives: {
WaterfallLower: Waterfall('lower'),
WaterfallUpper: Waterfall('upper')
}
};
代码演示
<script> import { Waterfall } from 'packages'; export default { data() { return { list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], disabled: false }; }, directives: { WaterfallLower: Waterfall('lower') }, methods: { loadMore() { this.disabled = true; setTimeout(() => { for (let i = 0; i < 5; i ++) { this.list.push(this.list.length); } this.disabled = false; }, 200); } } }; </script> <style> .demo-waterfall { ul { max-height: 360px; overflow: scroll; border-top: 1px solid #e5e5e5; } li { line-height: 50px; border-bottom: 1px solid #e5e5e5; background: #fff; text-align: center; } .page-desc { padding: 5px 0; line-height: 1.4; font-size: 14px; text-align: center; color: #666; } } </style>基础用法
使用 v-waterfall-lower
监听滚动到达底部,并执行相应函数。若是函数执行中需要异步加载数据,可以将 waterfall-disabled
指定的值置为 true,禁止 v-waterfall-lower
监听滚动事件
注意:waterfall-disabled
传入的是 vue 对象中表示是否禁止瀑布流触发 key 值,类型是字符串
:::demo 基础用法
<p class="page-desc">当即将滚动到元素底部时,会自动加载更多</p>
<ul
v-waterfall-lower="loadMore"
waterfall-disabled="disabled"
waterfall-offset="400">
<li v-for="item in list">{{ item }}</li>
</ul>
export default {
data() {
return {
list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
disabled: false
};
},
directives: {
WaterfallLower: Waterfall('lower')
},
methods: {
loadMore() {
this.disabled = true;
setTimeout(() => {
for (let i = 0; i < 5; i ++) {
this.list.push(this.list.length);
}
this.disabled = false;
}, 200);
}
}
};
:::
API
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
v-waterfall-lower | 滚动到底部, 触发执行的函数 | Function |
- | - |
v-waterfall-upper | 滚动到顶部, 触发执行的函数 | Function |
- | - |
waterfall-disabled | 在 vue 对象中表示是否禁止瀑布流触发的 key 值 | String |
- | - |
waterfall-offset | 触发瀑布流加载的阈值 | Number |
300 |
- |