docs(List): add PullRefresh demo (#5579)

This commit is contained in:
陈嘉涵
2020-01-23 11:17:34 +08:00
parent 7cf026f045
commit fde1ed11d4
4 changed files with 168 additions and 44 deletions
+61 -3
View File
@@ -39,14 +39,15 @@ export default {
finished: false
};
},
methods: {
onLoad() {
// 异步更新数据
// setTimeout 仅做示例,真实场景中一般为 ajax 请求
setTimeout(() => {
for (let i = 0; i < 10; i++) {
this.list.push(this.list.length + 1);
}
// 加载状态结束
this.loading = false;
@@ -54,7 +55,7 @@ export default {
if (this.list.length >= 40) {
this.finished = true;
}
}, 500);
}, 1000);
}
}
}
@@ -84,7 +85,6 @@ export default {
loading: false
};
},
methods: {
onLoad() {
fetchSomeThing().catch(() => {
@@ -95,6 +95,64 @@ export default {
}
```
### 下拉刷新
List 组件可以与 [PullRefresh](#/zh-CN/pull-refresh) 组件结合使用,实现下拉刷新的效果
```html
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
>
<van-cell v-for="item in list" :key="item" :title="item" />
</van-list>
</van-pull-refresh>
```
```js
export default {
data() {
return {
list: [],
loading: false,
finished: false,
refreshing: false
};
},
methods: {
onLoad() {
setTimeout(() => {
if (this.refreshing) {
this.list = [];
this.refreshing = false;
}
for (let i = 0; i < 10; i++) {
this.list.push(this.list.length + 1);
}
this.loading = false;
if (this.list.length >= 40) {
this.finished = true;
}
}, 1000);
},
onRefresh() {
// 清空列表数据
this.finished = false;
// 重新加载数据
// 将 loading 设置为 true,表示处于加载状态
this.loading = true;
this.onLoad();
}
}
}
```
## API
### Props