首页 > 其他分享 >elementui中实现loding实现局部加载,以el-dialog为例

elementui中实现loding实现局部加载,以el-dialog为例

时间:2024-07-24 11:20:46浏览次数:9  
标签:el loading 封装 为例 55 elementui dialog 加载

效果

 

封装loading加载(也可以直接使用,封装为了方便多次调用)

组件定义:loadDiy.js

import { Loading } from "element-ui";

export const servicesLoading = (node,str,lock) => {
  return Loading.service({
    target: document.querySelector(node),//loading需要覆盖的DOM节点,默认为body
    text: str,//加载文案
    lock,//同v-loading的修饰符
    // backgroundColor: 'rgba(55,55,55,0.4)',//背景色
    // spinner: 'el-icon-loading',//加载图标
  })
}

页面使用

<template>
    <div>
        <el-button type="text" round @click="dialogVisible=true">打开dialog</el-button>
        <el-dialog
          title="提示"
          :visible.sync="dialogVisible"
          :close-on-click-modal="false"
          :append-to-body="true"
          width="30%">
          <span>这是一段信息</span>
          <span slot="footer" class="dialog-footer">
            <el-button @click="dialogVisible = false">取 消</el-button>
            <el-button type="primary" @click="sureFunc">确 定</el-button>
          </span>
        </el-dialog>
    </div>
</template>
<script>
import { servicesLoading } from '@/toolStation/loadDiy.js'
export default {
    data() {
        return {
            dialogVisible:false,
        }
    },
    mounted() {

    },
    methods: {
        sureFunc() {
            const loading = servicesLoading('.el-dialog', '正在加载', true)
            setTimeout(() => {
                loading.close()
            }, 2000);
        }
    },
}
</script>
<style lang="less" scoped>
</style>

封装之后在需要的地方进行调用就可以了,注意封装的第一个参数:覆盖的dom节点要选对;

在我们一个页面有多个dialog时,节点仍使用.el-dialog显然会冲突,这个时候我们可以使用v-if来解决这个问题。如果不想使用v-if的话可以考虑给dialog加一个类样式,如加一个名为addCls的类,那么在封装的第一参数就可以写为.addCls .el-dialog,就可以解决了。

 

标签:el,loading,封装,为例,55,elementui,dialog,加载
From: https://www.cnblogs.com/houxianzhou/p/18320453

相关文章

  • golang channel 和 mutex 及原子操作 用于并发控制的性能对比
    场景:对同个数加10w次,看耗费时间,这里没有用benchmark测试,在意的请略过。以下是测试代码:packagemainimport( "fmt" "sync" "sync/atomic" "testing" "time")funcTestCount(t*testing.T){ varcntint varwgsync.WaitGroup num......
  • .NET 中高效 Excel 解决方案 MiniExcel
    前言MiniExcel是一个用于.NET平台的轻量级、高性能的库,专注于提供简单易用的API来处理Excel文件。以下是MiniExcel的特点总结:轻量级与高效:MiniExcel设计为占用较少的系统资源,尤其在内存使用上表现优秀,适合处理大数据集而不会导致内存溢出。简单易用:API设计直观,......
  • JAVA导出Excel文档水印包含中文变成乱码了(变成口了)
     在服务器执行下 fc-list:lang=zh如果为空说明没有中文字体,所以中文没法渲染,这样的话只能在项目里面自己引入字体 伪代码如下//加载外部字体文件Fontfont=null;try{InputStreamawardFontFile=Thread.currentThread().getCo......
  • 如何处理selenium无法打开浏览器或打开时间过长的问题
    一、出现上述问题的原因selenium更新到4.15.2以上,自带浏览器驱动管理,会自动访问外网下载浏览器驱动,因为访问不了外网导致报错二、如何解决1、指定使用本地驱动(推荐)​fromselenium.webdriver.chrome.serviceimportService​driver=webdriver.Chrome(service=S......
  • pipeline语法讲解
     必要的Groovy知识 支持命名参数defcreateName(StringgivenName,StringfamilyName){returngivenName+""+familyName}//调用时可以这样createNamefamilyName="Lee",givenName="Bruce"支持默认参数,比如:defsayHello(Stringname="h......
  • 尝试使用 Selenium 选择 svg 时出现 NoSuchElementExists
    我有很多文件要下载,所以我尝试使用python和Selenium使其自动化。(访问网站的API不是一个选项;如果可以的话我会这样做。)我无法让脚本找到的唯一元素是实际的下载按钮。(无论使用哪种方法来识别它,我都会收到“NoSuchElementExists”错误。)这是带有两个按钮的父元素。......
  • SQL 命令在手动运行时工作正常(SQL Developer),但在 Python 的 oracledb 模块中给出 ORA-
    我正在使用OracleSQL数据库,并且我想运行该命令ALTERSESSIONSETNLS_DATE_FORMAT='YYYY-MM-DD';当我从SQLDeveloper应用程序手动运行它时,它工作正常。但是,当我使用oracledb模块从Python运行它时,出现以下错误:ErrorrunningSQLscript:ORA-00922:mi......
  • 如何使用 Selenium 在可滚动面板(而不是整个窗口)中向下滚动?
    我试图从https://www.pikalytics.com/的左侧面板中抓取神奇宝贝名称和使用数据。我尝试使用BeautifulSoup,但显然它只能抓取前25个数据,因为源代码没有完全扩展。因此,我必须在面板中向下滚动才能获得完全访问权限。但是如何?这里我尝试过的解决方案:driver=webdr......
  • Selenium 是否可以检测发送到 devtools 网络选项卡中站点的特定请求?
    我在Chrome和Firefox上使用python上的Selenium。我希望selenium等待,直到将特定请求发送到可以位于devtools的网络选项卡中的站点。例如名称为“index-24c3e2ca18.js”且请求URL为“https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-24c3e2ca18.js”......
  • django 和 celery 中解释 env 变量的差异
    我对带有反斜杠的环境变量有疑问。我有:NETWORK=\\TI\folder但是在Django和Celery中,这个变量将以不同的方式解释:Django:\\TI\folderCelery:\TIfolder为什么我有差异?Celery和Django具有相同的env文件和环境。Python3.8Django和Celery对环境变量......