目录
- 一. 图片
- 1.
- 2.
- 二.list.vue
- 三.uni-load-more.vue
- 最后
一. 图片
1.
2.
二.list.vue
<template><view><!--列表--><scroll-view scroll-y="true" class="scroll-Y" :style="'height:' + scrollviewHigh + 'px;'" lower-threshold="50"@scrolltoupper="scrolltoupperFunc" @scrolltolower="scrolltolowerFunc"><view class="p-0-30 bg-white"><view class="d-b-c border-b p-20-0" v-for="(item,index) in tableData" :key="index"><view class="d-s-s f-w d-c flex-1"><text class="30">提现</text><text class="gray9 f22">{{item.create_time}}</text></view><view><text:class="item.apply_status.text=='审核通过'?'green':'gray9'">{{ item.apply_status.text }}</text><text class="red ml20"> {{ item.money }}元</text></view></view><!--<view class=""><view class="bottom-refresh"><view class="d-c-c p30" v-if="tableData.length && no_more"><text class="gray3">亲, 没有更多了</text></view><view v-if="loading" class="d-c-c p30"><text class="gray3">加载中...</text></view></view></view>--><!-- 没有记录 --><view class="d-c-c p30" v-if="tableData.length==0 && !loading"><text class="iconfont icon-wushuju"></text><text class="cont">亲,暂无相关记录哦</text></view><uni-load-more v-else :loadingType="loadingType"></uni-load-more></view></scroll-view></view>
</template><script>import uniLoadMore from "@/components/uni-load-more.vue";export default {components: {uniLoadMore},data() {return {/*手机高度*/phoneHeight: 0,/*可滚动视图区域高度*/scrollviewHigh: 0,/*状态选中*/state_active: -1,/*数据列表*/tableData: [],no_more: false,loading: true,/*最后一页码数*/last_page: 0,/*当前页面*/page: 1,/*每页条数*/list_rows: 20,tableList: [],}},computed: {/*加载中状态*/loadingType() {if (this.loading) {return 1;} else {if (this.tableData.length != 0 && this.no_more) {return 2;} else {return 0;}}}},mounted() {/*初始化*/this.init();/*获取数据*/this.getData();},methods: {/*初始化*/init() {let self = this;uni.getSystemInfo({success(res) {self.phoneHeight = res.windowHeight;self.scrollviewHigh = res.windowHeight;}});},/*获取数据*/getData() {let self = this;let page = self.page;self.loading = true;let list_rows = self.list_rows;self._get('user.cash/lists', {status: -1,page: page || 1,list_rows: list_rows,}, function(data) {self.loading = false;self.tableData = self.tableData.concat(data.data.list.data);self.last_page = data.data.list.last_page;if (data.data.list.last_page <= 1) {self.no_more = true;return false;}});},/*切换*/stateFunc(e) {let self = this;if (e != self.state_active) {self.tableData = [];self.page = 1;self.state_active = e;self.getData();}},/*可滚动视图区域到顶触发*/scrolltoupperFunc() {console.log('滚动视图区域到顶');},/*可滚动视图区域到底触发*/scrolltolowerFunc() {let self = this;if (self.page < self.last_page) {self.page++;self.getData();}self.no_more = true;}}}
</script><style></style>
三.uni-load-more.vue
<template><view class="load-more"><view class="loading-img" v-show="loadingType === 1 && showImage"><view class="load1"><view :style="{background:color}"></view><view :style="{background:color}"></view><view :style="{background:color}"></view><view :style="{background:color}"></view></view><view class="load2"><view :style="{background:color}"></view><view :style="{background:color}"></view><view :style="{background:color}"></view><view :style="{background:color}"></view></view><view class="load3"><view :style="{background:color}"></view><view :style="{background:color}"></view><view :style="{background:color}"></view><view :style="{background:color}"></view></view></view><text class="loading-text" :style="{color:color}">{{loadingType === 0 ? contentText.contentdown : (loadingType === 1 ? contentText.contentrefresh : contentText.contentnomore)}}</text></view>
</template><script>export default {name: "load-more",props: {loadingType: {//上拉的状态:0-loading前;1-loading中;2-没有更多了type: Number,default: 0},showImage: {type: Boolean,default: true},color: {type: String,default: "#999999"},contentText: {type: Object,default () {return {contentdown: "上拉显示更多",contentrefresh: "正在加载...",contentnomore: "已经到底了"};}}},data() {return {}}}
</script><style>.load-more {display: flex;flex-direction: row;height: 80upx;align-items: center;justify-content: center;}.loading-img {height: 24px;width: 24px;margin-right: 10px;}.loading-text {font-size: 24upx;color: #999;}.loading-img>view {position: absolute;}.load1,.load2,.load3 {height: 24px;width: 24px;}.load2 {transform: rotate(30deg);}.load3 {transform: rotate(60deg);}.loading-img>view view {width: 6px;height: 2px;border-top-left-radius: 1px;border-bottom-left-radius: 1px;background: #777;position: absolute;opacity: 0.2;transform-origin: 50%;-webkit-animation: load 1.56s ease infinite;}.loading-img>view view:nth-child(1) {transform: rotate(90deg);top: 2px;left: 9px;}.loading-img>view view:nth-child(2) {-webkit-transform: rotate(180deg);top: 11px;right: 0px;}.loading-img>view view:nth-child(3) {transform: rotate(270deg);bottom: 2px;left: 9px;}.loading-img>view view:nth-child(4) {top: 11px;left: 0px;}.load1 view:nth-child(1) {animation-delay: 0s;}.load2 view:nth-child(1) {animation-delay: 0.13s;}.load3 view:nth-child(1) {animation-delay: 0.26s;}.load1 view:nth-child(2) {animation-delay: 0.39s;}.load2 view:nth-child(2) {animation-delay: 0.52s;}.load3 view:nth-child(2) {animation-delay: 0.65s;}.load1 view:nth-child(3) {animation-delay: 0.78s;}.load2 view:nth-child(3) {animation-delay: 0.91s;}.load3 view:nth-child(3) {animation-delay: 1.04s;}.load1 view:nth-child(4) {animation-delay: 1.17s;}.load2 view:nth-child(4) {animation-delay: 1.30s;}.load3 view:nth-child(4) {animation-delay: 1.43s;}@-webkit-keyframes load {0% {opacity: 1;}100% {opacity: 0.2;}}
</style>
最后
感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!