Element用法---Loading 加载

仅供参考

文章目录

  • 一、加载动画
  • 二、Loading 组件
    • 1、指令调用 Loading
    • 2、服务调用 Loading


一、加载动画

当我们打开某个页面时,如果需要加载的数据很多或者网络很差,页面加载就会非常缓慢,中间可能会很长时间显示空白,那么就需要加载动画进行一个过渡,既可以起到一个提示的作用,也可以增加用户体验

在这里插入图片描述


二、Loading 组件

Element 的 Loading 组件可以很好的实现一个动态加载动画

Element Plus 提供了两种调用 Loading 的方法:指令服务

1、指令调用 Loading

假如现在有一个表格需要渲染,但是表格加载数据需要时间,需要在加载数据的时候,只在表格内显示加载动画,而不是整个界面显示加载,此时使用指令调用 Loading 更为方便

指令名称: v-loading

<template><div class="table-container"><el-table v-loading="loading":data="tableData" style="width: 100%"><el-table-column prop="date" label="Date" width="180" /><el-table-column prop="name" label="Name" width="180" /><el-table-column prop="address" label="Address" /></el-table></div>
</template><script lang="ts" setup>
import { ref } from 'vue'const loading = ref(true)const tableData = ref([{date: '2016-05-02',name: 'John Smith',address: 'No.1518,  Jinshajiang Road, Putuo District',},{date: '2016-05-04',name: 'John Smith',address: 'No.1518,  Jinshajiang Road, Putuo District',},{date: '2016-05-01',name: 'John Smith',address: 'No.1518,  Jinshajiang Road, Putuo District',},
]) // 你的数据
</script>//当确保表格数据加载完成后,将 loading 的值改为 false 即可取消加载动画

实现的效果如下:
在这里插入图片描述
所以,你想要在哪个盒子里面添加加载动画,就给哪个盒子添加 v-loading 指令

加载的同时显示文案:element-loading-text

<template><div class="table-container"><el-table v-loading="loading"element-loading-text="拼命加载中":data="tableData" style="width: 100%"><el-table-column prop="date" label="Date" width="180" /><el-table-column prop="name" label="Name" width="180" /><el-table-column prop="address" label="Address" /></el-table></div>
</template>

在这里插入图片描述

自定义加载图标:element-loading-spinner

<template><div class="table-container"><el-table v-loading="loading"element-loading-text="拼命加载中":element-loading-spinner="svg":data="tableData" style="width: 100%"><el-table-column prop="date" label="Date" width="180" /><el-table-column prop="name" label="Name" width="180" /><el-table-column prop="address" label="Address" /></el-table></div>
</template><script lang="ts" setup>
import { ref } from 'vue'const loading = ref(true)const svg = `<path class="path" d="M 30 15L 28 17M 25.61 25.61A 15 15, 0, 0, 1, 15 30A 15 15, 0, 1, 1, 27.99 7.5L 15 15" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>`

在这里插入图片描述

自定义遮罩层颜色:element-loading-background

<template><div class="table-container"><el-table v-loading="loading"element-loading-text="拼命加载中"element-loading-background="black":data="tableData" style="width: 100%"><el-table-column prop="date" label="Date" width="180" /><el-table-column prop="name" label="Name" width="180" /><el-table-column prop="address" label="Address" /></el-table></div>
</template>

在这里插入图片描述

自定义类名:element-loading-custom-class

/* 自定义的样式会作用于加载遮罩层 */
.my-custom-loading {background-color: rgba(0, 0, 0, 0.5); /* 修改遮罩背景色 */
}/* 自定义加载动画 */
.my-custom-loading .el-loading-spinner {/* 修改spinner容器样式 */
}.my-custom-loading .el-loading-spinner .circular {/* 修改旋转动画样式 */
}.my-custom-loading .el-loading-text {/* 修改加载文字样式 */color: #ff0000;
}

2、服务调用 Loading

服务调用 Loading 更偏向于全屏显示加载动画

import { ElLoading } from 'element-plus'
const loading = ElLoading.service({text: '拼命加载中'
})
setTimeout(() => {loading.close() // 关闭加载
}, 2000)

在这里插入图片描述

通过修改 service 中的字段也可以实现自定义加载效果:

const loading = ElLoading.service({target: '',   //Loading 需要覆盖的 DOM 节点,默认是 bodylock: true, //是否在加载期间锁定屏幕交互,如滚动屏幕等fullscreen: true,   //是否全屏显示text: '拼命加载中',  //加载图标下方的加载文案background: 'black',  //遮罩背景色customClass: '',      // Loading 的自定义类名beforeClose: ()=>true,   //Loading 关闭之前执行的函数,返回值为布尔型closed: ()=>{}         //Loading 完全关闭后触发的函数
})

使用服务调用 Loading 怎么实现在某个div 中显示加载动画,而不是全屏显示

<div class="table-container"><div ref="divBox"></div>
</div>import { ref } from 'vue'
const divBox = ref()
const loading = ElLoading.service({target: divBox.value?.$el,   //Loading 需要覆盖的 DOM 节点fullscreen: false,   //是否全屏显示text: '拼命加载中',  //加载图标下方的加载文案
})<style>
.table-container {position: relative; /* 关键样式 */height: 100%; /* 确保容器有高度 */
}
</style>

关键点:
(1)target 字段设置为要添加动态加载效果的 DOM元素
(2)fullscreen 设置为 false 关闭全屏显示
(3)要添加加载动画的 DOM 元素的父容器必须有高度且设置了相对定位(relative)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93307.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞算AI 3.2.0实战评测:10分钟搭建企业级RBAC权限系统

飞算AI 3.2.0实战评测&#xff1a;10分钟搭建企业级RBAC权限系统 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都…

事务的四大特性

事务&#xff08;Transaction&#xff09;是数据库管理系统&#xff08;DBMS&#xff09;中用于保证数据操作正确性和一致性的核心机制。事务的特性通常用 ACID 四个字母概括&#xff0c;分别代表 原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&…

WIN11系统下Open3D 0.19.0支持GPU的python版本

前往Open 3D官网下载https://github.com/isl-org/Open3D下载对应版本的源码。 根据官方手册利用cmake进行编译&安装&#xff0c;其中需要修改一些代码适应于win 11系统&#xff0c;编译时间较长需要耐心等待。最后&#xff0c;安装结果如下图&#xff0c;搞了四天&#xff…

ICCV 2025 | 4相机干掉480机位?CMU MonoFusion高斯泼溅重构4D人体!

​​​​ 近日&#xff0c;卡内基梅隆大学&#xff08;Carnegie Mellon University&#xff09;的研究团队在动态场景重建领域取得重要进展。其发表于ICCV 2025的论文《MonoFusion: Sparse-View 4D Reconstruction via Monocular Fusion》提出创新方法MonoFusion 。该方法突破常…

ADB 无线调试连接(Windows + WSL 环境)

gradle wrapper --gradle-version 8.4 Windows WSL 成功连接 Android 设备&#xff08;用于 ./gradlew installDebug&#xff09;的完整过程总结&#xff1a;✅ ADB 无线调试连接过程&#xff08;Windows WSL 环境&#xff09; &#x1f4cc; 目标&#xff1a;从 WSL 中通过 …

【.net core】【wetercloud】处理前端项目免登陆,且从前端项目跳转至系统内时的问题

1.前端项目访问后台内容时免登陆&#xff08;一般用于后台接口需要校验登陆时&#xff09;处理思路&#xff1a;将后台用户的登陆校验令牌信息在用户登录后添加至前端项目访问地址的参数列表中&#xff0c;如&#xff1a;https://yourdomain/Home/Index#/https://yourdomain/vi…

设备 AI 知识库,管理效率新飞跃

在设备管理领域&#xff0c;高效解决设备故障、合理规划维护工作对企业生产运营至关重要。易点易动设备管理系统新推出的设备 AI 知识库&#xff0c;为提升管理效率带来了新契机。设备 AI 知识库集成先进的人工智能技术&#xff0c;是设备管理领域的创新应用。易点易动设备管理…

C#绘制斐波那契螺旋

Fabonacci 数列&#xff0c;也就是”兔子数列“&#xff0c; 如果第一项为0的话&#xff0c;就是&#xff0c; 0&#xff0c;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13&#xff0c;21&#xff0c;34&#xff0c;55&#xff0c;89……

JavaScript 任务 - clearTimeout 函数与 clearInterval 函数

clearTimeout 函数 1、基本介绍 clearTimeout 函数用于取消先前通过 setTimeout 函数设置的定时器 clearTimeout(【timeoutID】)参数说明timeoutID要取消的定时器的标识符&#xff0c;这个 ID 是由 setTimeout 函数返回的2、演示 let timeoutId1 setTimeout(() > {console.…

在 CentOS 7 中使用 systemd 创建自定义服务

systemd 创建自定义服务简述创建自定义服务步骤文件覆盖优先级创建服务流程在 /etc/systemd/system/ 目录下创建 .service 文件&#xff08;需 root 权限&#xff09;&#xff1a;编写服务配置模板Systemd 服务文件三大区块详解[Unit] 区块 - 服务元数据与依赖[Service] 区块 -…

【QT】printsupport库远程实现打印机打印

【QT】printsupport库远程实现打印机打印 前言 思路 实现 当前所有可用打印机浏览 打印预览 打印输出 手动选择打印 自动打印 防呆补充 库打包 前言 在打印机的通讯控制方式中,有USB、网口、串口、WIFI等,针对局域网环境下,用自研软件控制打印机打印的应用场景,针对自研软…

LT3045EDD#TRPBF ADI亚德诺 超低噪声LDO稳压器 电子元器件IC

LT3045EDD#TRPBF ADI 超低噪声LDO稳压器专业解析1. 产品技术档案LT3045EDD#TRPBF是ADI&#xff08;Analog Devices Inc.&#xff09;推出的超低噪声/超高PSRR线性稳压器&#xff0c;采用DFN-12 (3x3mm)封装&#xff0c;以其0.8μVRMS超低噪声和79dB超高频PSRR成为精密电源设计。…

易语言模拟真人鼠标轨迹算法 - 非贝塞尔曲线

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟人…

Spring Boot 3 数据源连接信息存储方法

在Spring Boot 3中&#xff0c;数据源连接信息的存储方式主要有以下几种&#xff0c;根据安全性和环境需求选择合适的方式&#xff1a; 1. 配置文件&#xff08;推荐基础方式&#xff09; 位置&#xff1a;src/main/resources/application.properties 或 application.yml 示例…

按键序列常用示例

按键序列常用示例 按键编码 基础按键对应编码 A-Z 原字符即可 KeyCodeSHIFTCTRL^ALT% 其他按键 KeyCodeBACKSPACE{BACKSPACE}, {BS}, or {BKSP}BREAK{BREAK}CAPS LOCK{CAPSLOCK}DEL or DELETE{DELETE} or {DEL}DOWN ARROW{DOWN}END{END}ENTER{ENTER} or ~ESC{ESC}HELP{HEL…

【LeetCode Solutions】LeetCode 热题 100 题解(36 ~ 40)

CONTENTS二叉树 - LeetCode 94. 二叉树的中序遍历&#xff08;简单&#xff09;二叉树 - LeetCode 104. 二叉树的最大深度&#xff08;简单&#xff09;二叉树 - LeetCode 226. 翻转二叉树&#xff08;简单&#xff09;二叉树 - LeetCode 101. 对称二叉树&#xff08;简单&…

数据处理分析环境搭建+Numpy使用教程

环境搭建 数据分析常用开源库 Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库。是一个运行速度非常快的数学库&#xff0c;主要用于数组计算包含&#xff1a; 一个强大的N维数组对象 ndarray广播功能函数整合 C/C/Fortran 代码的工具线性代数、傅里叶变换、随机…

实战多屏Wallpaper壁纸显示及出现黑屏问题bug分析-学员作业

背景&#xff1a; 在大家看了上一篇google官方对于多屏壁纸这块的介绍后 安卓Wallpaper壁纸部分对多屏的支持-Google官方文档介绍 可能还是对于壁纸支持多屏这块没有相关的实战性的认知&#xff0c;所以本文就开始带大家来进行部分解读和实战。 壁纸多屏显示原理文档解读&a…

Vue插槽---slot详解

1、什么是 Vue 插槽&#xff1f;Vue 插槽&#xff08;Slot&#xff09;​​ 是 Vue 提供的一种非常强大且灵活的机制&#xff0c;用于实现&#xff1a;父组件向子组件传递一段模板内容&#xff08;HTML / 组件等&#xff09;&#xff0c;让子组件在指定位置动态渲染这些内容。可…

STM32 - Embedded IDE - GCC - 显著减少固件的体积

导言如上图所示&#xff0c;在编译器附加选项&#xff08;全局&#xff09;里添加--specsnano.specs&#xff0c;告诉编译器使用newlib-nano替代newlib去编译代码。 newlib vs. newlib-nano newlib 是 GNU ARM 工具链默认的 C 标准库&#xff0c;功能完整&#xff0c;但体积较大…