docs(List): add PullRefresh demo (#5579)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user