40 lines
1.1 KiB
Vue
40 lines
1.1 KiB
Vue
<!-- 上拉加载区域 -->
|
||
<template>
|
||
<view class="mescroll-upwarp" :style="{'background-color':mOption.bgColor,'color':mOption.textColor}">
|
||
<!-- 加载中 (此处不能用v-if,否则android小程序快速上拉可能会不断触发上拉回调) -->
|
||
<view v-show="isUpLoading">
|
||
<view class="upwarp-progress mescroll-rotate" :style="{'border-color':mOption.textColor}"></view>
|
||
<view class="upwarp-tip">{{ mOption.textLoading }}</view>
|
||
</view>
|
||
<!-- 无数据 -->
|
||
<view v-if="isUpNoMore" class="upwarp-nodata">{{ mOption.textNoMore }}</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
props: {
|
||
option: Object, // up的配置项
|
||
type: Number // 上拉加载的状态:0(loading前),1(loading中),2(没有更多了)
|
||
},
|
||
computed: {
|
||
// 支付宝小程序需写成计算属性,prop定义default仍报错
|
||
mOption() {
|
||
return this.option || {};
|
||
},
|
||
// 加载中
|
||
isUpLoading() {
|
||
return this.type === 1;
|
||
},
|
||
// 没有更多了
|
||
isUpNoMore() {
|
||
return this.type === 2;
|
||
}
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style>
|
||
@import './mescroll-up.css';
|
||
</style>
|