• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
可恶的程序
帮助1

效果

学新通

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

temp.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/temp.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,就可以解决了。

  • 这次分享到此就结束了,谢谢大家

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggbkhj
系列文章
更多 icon
同类精品
更多 icon
继续加载