2021-04-14 09:35:08 +08:00

98 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Waterfall 瀑布流
Tips: Waterfall 组件已废弃,请使用 List 组件代替。
### Install
#### NPM
```shell
npm i @vant/waterfall -S
```
#### YARN
```shell
yarn add @vant/waterfall
```
### 使用指南
#### 全局注册
```js
import Vue from 'vue';
import Waterfall from '@vant/waterfall';
Vue.use(Waterfall);
```
#### 局部注册
如果你只是想在某个组件中使用`Waterfall`,可以在对应组件中注册`Waterfall`指令,这样只能在你注册的组件中使用`Waterfall`
```js
import Waterfall from '@vant/waterfall';
export default {
directives: {
WaterfallLower: Waterfall('lower'),
WaterfallUpper: Waterfall('upper'),
},
};
```
### 代码演示
#### 基础用法
使用 `v-waterfall-lower` 监听滚动到达底部,并执行相应函数。若是函数执行中需要异步加载数据,可以将 `waterfall-disabled` 指定的值置为 true禁止 `v-waterfall-lower` 监听滚动事件
注意:`waterfall-disabled` 传入的是 vue 对象中表示是否禁止瀑布流触发 key 值,类型是字符串
```html
<ul
v-waterfall-lower="loadMore"
waterfall-disabled="disabled"
waterfall-offset="400"
>
<li v-for="item in list">{{ item }}</li>
</ul>
```
```js
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` | - |