# refresh-view
支持下拉刷新、上拉加载的滚动容器。
# 属性
| 属性名 | 类型 | 必填 | 默认值 | 说明 | 
|---|---|---|---|---|
| enablePullUpLoad | Boolean | 否 | false | 是否开启上拉加载 | 
| pullUpLoadComplete | Boolean | 使用上拉加载时必传 | false | 当数据加载完成后修改该值更新状态 | 
| pullingUp | Boolean | 无 | 上拉加载中 | |
| pullUpStart | Number | 否 | 50 | 触发上拉加载的的距离 | 
| pullUpStop | Number | 否 | 80 | 上拉加载动画停留的位置高度 | 
| pullDownStart | Number | 否 | 50 | 下拉刷新开始位置距离 | 
| pullDownStop | Number | 否 | 80 | 下拉刷新动画停留的位置高度 | 
| pullingDown | Boolean | 否 | false | 下拉刷新中 | 
| c-bind:onPullUpLoad | EventHandle | 否 | 上拉加载时触发 | |
| c-bind:onPullDownRefresh | EventHandle | 否 | 下拉刷新时触发 | 
# 示例
<template>
  <refresh-view
    enablePullUpLoad="{{true}}"
    pullingDown="{{pullingDown}}"
    pullingUp="{{pullingUp}}"
    c-bind:onPullDownRefresh="pullDownRefreshHandle"
    c-bind:onPullUpLoad="pullUploadHandle"
  >
    <view class="content">
      <c-header title="refresh-view"></c-header>
      <text c-for="{{texts}}" class="text-item">{{ item }}</text>
    </view>
    <text class="loading-text">{{ loadingText }}</text>
  </refresh-view>
</template>
<script>
import cml from 'chameleon-api';
class RefreshView {
  data = {
    imgGif: require('../../../components/refresh-loading/img/loading.gif'),
    texts: [0, 1, 2, 3, 4, 5, 6],
    pullingDown: false,
    pullingUp: false,
    loadingText: '上拉加载',
  };
  computed = {};
  watch = {};
  methods = {
    pullDownRefreshHandle(e) {
      this.pullingDown = true;
      setTimeout(() => {
        let length = this.texts.length;
        for (let i = length; i < length + 5; i++) {
          this.texts.unshift(i);
        }
        this.pullingDown = false;
      }, 2000);
    },
    pullUploadHandle(e) {
      this.pullingUp = true;
      this.loadingText = '加载中...';
      setTimeout(() => {
        this.loadingText = '加载完成';
        let length = this.texts.length;
        for (let i = length; i < length + 5; i++) {
          this.texts.push(i);
        }
        this.loadingText = '上拉加载';
        this.pullingUp = false;
      }, 2000);
    },
  };
}
export default new RefreshView();
</script>
<style>
.container {
  flex: 1;
  width: 750cpx;
}
.text-item {
  width: 710cpx;
  text-align: center;
  line-height: 160cpx;
  height: 160cpx;
  background: #69be96;
  border: 1px solid #666;
  border-radius: 10cpx;
  align-self: center;
  font-size: 60cpx;
  color: white;
  margin: 20cpx;
}
.loading-text {
  height: 80cpx;
  line-height: 80cpx;
  text-align: center;
  color: #999;
  font-size: 24cpx;
}
</style>
<script cml-type="json">
{
  "base": {}
}
</script>
# Bug & Tips
- refresh-view为全屏组件。
- 如果子组件的总高度高于其本身,那么所有的子组件都可滚动。
← carousel-item button →
