首页 > 其他分享 >uniapp上拉加载下拉刷新

uniapp上拉加载下拉刷新

时间:2023-06-15 09:47:31浏览次数:38  
标签:uniapp center triggered color isScrolltolower 上拉 true 加载

<template>
	<view class="content">
		<scroll-view scroll-with-animation refresher-default-style="none" :refresher-enabled="true"
			:refresher-triggered="triggered" refresher-background="#fff"
			style="height: 90vh;width: 750rpx;border: 1px solid red;" :scroll-top="scrollTop" scroll-y="true"
			@refresherrefresh="onRefresh" @scrolltolower="scrolltolower">
			<slot name="topLoading">
				<view class="topBox">
					<view class="loader">
						<view v-for=" ( v, i ) in 10" :key="v"
							:style="{ transform: 'rotate(' + (i * 36) + 'deg)', animationDelay: v == 10 ? 1 + 's' : '0.' + v + 's' }">
						</view>
					</view>
					<view style="margin-left: 35rpx;">
						{{ topTis }}
					</view>
				</view>
			</slot>
			<view v-for="v in 50 " :key="v">A</view>
			<slot name="bottomLoading">
				<div class="bottomLoading">
					{{ loadOver ? (isScrolltolower ? '努力加载中....' : '上拉加载更多') : '人家是有底线的' }}
				</div>
			</slot>
		</scroll-view>
	</view>
</template>

<script>
export default {
	data () {
		return {
			triggered: false,
			topTis: '松手刷新',
			isScrolltolower: false,
			loadOver: true,
		}
	},
	onLoad () {

	},
	watch: {
	},
	methods: {
		onRefresh () {
			console.log(123, 'val')
			this.isScrolltolower = false
			this.loadOver = true
			this.topTis = '努力加载中'
			//做一个判断,判断triggered 是否为true
			if (!this.triggered) {
				this.triggered = true
				setTimeout(e => {
					this.triggered = false
					this.topTis = '松手刷新'
				}, 1500)
			}
		},
		scrolltolower (e) {
			if (this.isScrolltolower) return
			this.isScrolltolower = true
		}
	}

}
</script>

<style lang="less" scoped>
.topBox {
	margin-top: -80rpx;
	width: 100%;
	height: 80rpx;
	display: flex;
	align-items: center;
	justify-content: center;
}


.loader {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	position: relative;
	margin-top: -25rpx;
}

.loader view {
	width: 2px;
	height: 6px;
	background-color: gray;
	transform-origin: 50% 150%;
	position: absolute;
	animation: color-change 1s infinite;
}

@keyframes color-change {
	from {
		background-color: gray;
	}

	to {
		background-color: white;
	}
}

.bottomLoading {
	display: flex;
	align-items: center;
	justify-content: center;
}
</style>

标签:uniapp,center,triggered,color,isScrolltolower,上拉,true,加载
From: https://www.cnblogs.com/newBugs/p/17481958.html

相关文章

  • uniapp-黑马优选学习02
    01.scroll-view配置高度或宽度时的屏幕铺满;使用 uni.getSystemInfoSync()获取设备相关信息02.取分类数据>API接口:/api/public/v1/categories>数据结构:{内容太多,请直接调用接口获取}>>为元素配置动态类信息(如果条件匹配则添加active类,否则不......
  • 浅谈 thinkphp composer 扩展包加载原理
    浅谈thinkphpcomposer扩展包加载原理本文将介绍ThinkPHP中Composer扩展包的加载原理,帮助读者更好地理解和应用该功能。前言如题,今天感觉好久没有更新博客了。最近迷上了物联网开发。一直在研究stm32、51这些东西。想起来前几天群里面有人问到tp扩展包原理。其实这个前......
  • pytorch 加载(.pth)格式的模型
    有一些非常流行的网络如resnet、squeezenet、densenet等在pytorch里面都有,包括网络结构和训练好的模型。pytorch自带模型网址:https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/按官网加载预训练好的模型:importtorchvision.modelsasmodels#pretr......
  • uniapp vue.config.js配置chunk-vendors.js文件拆分
    constpath=require('path')functionresolve(dir){returnpath.join(__dirname,dir);}constCompressionPlugin=require('compression-webpack-plugin')consthtmlWebpackPlugin=require('html-webpack-plugin')htmlWebpackPl......
  • vue3 css ts 双重弹跳加载动画
    /双重弹跳加载动画*/效果如同页面https://codepen.io/yjx123/pen/zYMvbML<ahref="javascript:void(0)"@click="startLoading"><inline-svg:src="getAssetPath(iconPath)"></inline-svg><div:style="{......
  • myeclipse 不能正常加载项目
    问题不能加载项目,在选择项目后,DeployLocation是空的。 解决 1、网上查询后,提示,右键项目→ properties  →MyEclipse  →ProjectFacets  →web。修改項目名字。 2、但是在操作时,发现提示  thecurrentlydisplayedpagecontainsinvalidvalues。 ......
  • uniapp 更新依赖到指定版本解决uniAPI不可用问题
    我解决的问题:在项目中使用uni.startLocationUpdate(OBJECT)报错:uni.startLocationUpdateisnotafunction 怀疑是版本问题,当时的版本......
  • uniapp 不显示原生导航
    自定义导航栏使用注意当navigationStyle设为custom或titleNView设为false时,原生导航栏不显示//pages配置部分页面{"path":"pages/default/systemError","style":{"navigationBarTitleText":"系统异常","navigationS......
  • uniapp开发公众号H5时用户缓存无法清除问题
     业务场景:  此项目是一个vx公众号h5项目,每次更新版的时候用户端由于有缓存,每次都是使用滞后的版本解决方案:一、index.html文件如何保证不缓存,每次都使用服务器上最新的代码?此时需要一下标签:<metahttp-equiv="Cache-Control"content="no-cache,no-store,must-revali......
  • 实现懒加载
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址什么是懒加载只在数据或内容即将进入视口或即将需要的时候才加载。实现懒加载的好处有:提高页面加载速度和响应速度。只加载当前用户需要或将要浏览到的数据,避免一次性加载大量不必要的数据。节省用户流量。只加载......