当前位置: 首页 > article >正文

uniapp 自定义加载组件,全屏加载,局部加载 (微信小程序)

效果图

全屏加载  页面加载使用

局部加载   列表加载里面使用

使用gif

html 

<template>
	<view>
		<view class="" v-if="type=='FullScreen'">
			<view class="loading" v-if="show">
				<view class="">
					<image class="loadingicon"
						src="../../static/all/loading.gif"
						mode="aspectFit"></image>
					<view style="color:#999;width: 100%;">加载中</view>
				</view>
			</view>
		</view>
		<view class="" v-if="type=='adaptive'">
			<view class="loading_adaptive" v-if="show">
				<view class="">
					<image class="loadingicon"
						src="../../static/all/loading.gif"
						mode="aspectFit"></image>
					<view style="color:#999;width: 100%;">加载中</view>
				</view>
			</view>
		</view>
	</view>
</template>

css

	.loading {
		width: 100vw;
		height: 100vh;
		background: #fff;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999999;
		text-align: center;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;

		.loadingicon {
			width: 100rpx;
			height: 100rpx;
		}
	}

	.loading_adaptive {
		width: 100%;
		height: 500rpx;
		z-index: 999999;
		text-align: center;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;

		.loadingicon {
			width: 100rpx;
			height: 100rpx;
		}
	}

js

	export default {
		name: "loading",
		data() {
			return {

			};
		},
		props: {
			show: {
				default: false,
				type: Boolean
			},
			type: {
				default: 'FullScreen', //全屏使用或者自适应使用
				type: String
			}
		},
		watch: {
			show: {
				handler(newData, oldData) {
					console.log(newData, '新值');
					console.log(oldData, '老值');
				},
				immediate: true,
				deep: true
			}
		}
	}

挂载全局或页面引入使用

需要放在最外层view

		<loading :show="loadingshow"></loading>

js

loadingshow: true,



//在生命周期 例如:onload 或者 接口请求里面使用
//时间可以自定义
//第一种方式在生命周期中使用:
	setTimeout(() => {
		that.loadingshow = false;
	}, 200)

//第二种方式在接口里面使用:
	            需要展示数据的接口({
					page: this.page,
					limit: this.limit
				}).then(ress => {
                //数据请求完毕再关闭加载
				if(res.code==1){
                that.loadingshow = false;
                }
				})


http://www.kler.cn/a/401955.html

相关文章:

  • Python Web 开发的路径管理艺术:FastAPI 项目中的最佳实践与问题解析20241119
  • 【大模型】prompt实践总结
  • R语言基础入门详解
  • Springboot3.3.5 启动流程之 tomcat启动流程介绍
  • 使用 GoZero 实现读取绩效表格 Excel 并打分
  • 【时间之外】IT人求职和创业应知【37】-AIGC私有化
  • git 基础之 merge 和 rebase 的比较
  • 运维面试题.云计算面试题之三ELK
  • VGG16-Pytorch实现人脸识别
  • C/C++实现tcp客户端和服务端的实现(从零开始写自己的高性能服务器)
  • AI 驱动低代码平台:开创智能化用户体验新纪元
  • vue功能基础元素使用
  • Java中日志采集框架-JUL、Slf4j、Log4j、Logstash
  • 在 macOS 和 Linux 中,波浪号 `~`的区别
  • 使用C++编写一个程序,模拟掷骰子的过程,输出1到6之间的随机数。
  • 【企业级分布式系统】ELK优化
  • 使用Go语言开发一个高性能的Web服务器,支持静态文件服务和实时通信。
  • 《深入理解 Spring MVC 工作流程》
  • 实验十三 生态安全评价
  • MySQL扩展varchar字段长度能否Online DDL
  • 【服务器】端口映射
  • 爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
  • 【嵌入式Linux】Linux设备树详解
  • 【算法设计与分析实训】第1关:求序列的最大字段和
  • 高阶云服务-ELB+AS
  • Android CPU核分配关联进程