首页 > 其他分享 >局部添加加载中效果loading (vue+elementUI)

局部添加加载中效果loading (vue+elementUI)

时间:2023-05-17 09:35:40浏览次数:46  
标签:loading 效果 elementUI 55 element vue dataText 加载

产品需求:有时候我们不想为整个页面添加loading效果。只想给局部区域添加loading效果。(这效果就不揍产品了)

    在一个表格数据加载时,因为需要连接其它东西,所以后台接口返回数据需要较长时间,因此添加局部Loading效果,增加用户体验度,

最开始使用下面代码,直接放到<el-table>中,测试时遇到问题

element-loading-spinner="el-icon-loading" :element-loading-text="$t('tip.loading')" element-loading-custom-class="equipment-loading" element-loading-background="rgba(55,55,55,0.2)"

问题:此时根据测试反馈,Loading时不要将表头一起loading

解决它:

const loading = this.$loading({
   lock: true,//同v-loading的修饰符
   text: this.$t('tip.loading'),//加载文案
   backgroundColor: 'rgba(55,55,55,0.4)',//背景色
   spinner: 'el-icon-loading',//加载图标
   target: document.querySelector(".el-table__body")//loading需要覆盖的DOM节点,默认为body
})

效果:

 

 

 

 

效果关闭:

loading.close();//加载完成时调用,关闭loading效果


问题:达成测试所要效果后,测试再次建议,初始加载数据时,不要显示暂无数据字样(vue+element)

 再次解决它:

  data中定义dataText为空,加载数据成功,再根据是否有无数据,及对应的国际化进行赋值

data: {
    return {
        dataText: ""//定义
    }
},
mounted() {
    this.init();
},
methods: {
    init(){
         ...//数据请求
         //成功时判断数据是否为空
         if(res.data == undefined){
              //为空时,结合国际化进行赋值
              if(localStorage.language === 'en'){
                      this.dataText = "No data";
               }else{
                      this.dataText = "暂无数据"; 
               }
         }
    }
}

 

写在最后:平时在开发产品时,会遇到不同的产品需求,问题不到,好好研究定能解决它,希望能帮到大家,感谢阅读!!!





标签:loading,效果,elementUI,55,element,vue,dataText,加载
From: https://www.cnblogs.com/houxianzhou/p/17407545.html

相关文章

  • vscode中vue项目中修改.vue文件名后报错
    报错误信息:Alreadyincludedfilename'.../xxx.vue'differsfromfilename'.../xxx.vue'onlyincasing.Thefileisintheprogrambecause:Importedvia'…/xxx.vue'fromfile'.../xxx.vue'Rootfilespecifiedforcompi......
  • Vuex的使用
    1、Vuex介绍1.1、概念专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式管理(读/写),也是一种组件间通信的方式,且适用于任意组件之间的通信。1.2、什么时候使用Vuex多个组件共享同一个状态(数据)的时候。1.3、Vuex原理图注意:图中没有体现......
  • Vue 报错-4058 ENOENT: no such file or directory的原因和解决办法
    原因是我在上一级目录打开的cmd然后npmrunserve 需要进到app内run一下 ......
  • vue中使用wangEditor在设置工具栏的显隐
    前段时间为了富文本在wangEditor和tinyMCE中犹豫,虽然最后选择用tinyMCE,但是wangEditor的文档也是去看了的。wangEditor中文文档在这里。由于项目中需要的工具栏并不多,需要将部分工具栏隐藏,然后我将这两个富文本框的文档都看了一下。这里主要说一下wangEditor富文本框的工具栏的......
  • 【Vue2.x源码系列08】Diff算法原理
    什么是虚拟DOMDOM是很慢的,其元素非常庞大,当我们频繁的去做DOM更新,会产生一定的性能问题,我们可以直观感受一下div元素包含的海量属性在Javascript对象中,虚拟DOM表现为一个Object对象(以VNode节点作为基础的树)。并且最少包含标签名tag、属性attrs和子元素对象children三个属......
  • Vue
      ......
  • VUE- history模式发布项目部署
    VUE-history模式发布项目部署 环境:vue项目 发布后,通过nginx部署到docker容器内。如需要去掉路径中的#/ 则需要使用history模式发布。1. 修改路由的配置文件constrouter=newRouter({base:process.env.BASE_URL,scrollBehavior:()=>({y:0}),mode:'......
  • vue2 + fabric.js 实现撤销、恢复效果
    全部代码<template><div><canvasid="canvas"width="400"height="400"style="border:1px"></canvas><button:disabled="!canUndo"@click="historyState(stateIndex-1)......
  • Vue3.3 的新功能的一些体验
    Vue3在大版本3.3里面推出来了一些新功能(主要是语法糖),网上有各种文章,但是看起来似乎是一样的。我觉得吧,有新特性了,不能光看,还要动手尝试一下。DefineOptions宏定义先来一个简单的,以前我们有时候想设个name,有时候不想让组件自动继承属性,这时候需要单独设置一个script进行设......
  • [未解决] 如何用vite的vueCustomBlockTransforms实现源代码展示
    想实现源代码展示,搜索结果90%都是用vueCustomBlockTransforms,但我在自己项目的vite.config.js里加入该选项以后并没有生效在vite官网配置中也没有,vite源码中没有(但是node/server的createServer中有)找到了一个demo,也是可以用的(虽然vite版本是很早的1.0):https://zhuanlan.zhihu.co......