NafmPullRefresh.vue 619 Bytes
<template>
  <van-pull-refresh v-model="refreshing" @refresh="$emit('refresh')">
    <template v-if="$slots.loading" #loading>
      <slot name="loading"></slot>
    </template>
    <slot></slot>
  </van-pull-refresh>
</template>

<script>
export default {
  name: 'NafmPullRefresh',
  props: {
    isLoading: {
      type: Boolean,
      default: false
    }
  },
  data () {
    return {
      refreshing: false,
    }
  },
  watch: {
    isLoading (val, old) {
      this.refreshing = val
    },
    refreshing (val, old) {
      this.$emit('input', val)
    }
  },
  model: {
    prop: ['isLoading']
  }
}
</script>