参考:https://www.jianshu.com/p/104bbb01b222

Vue 页面加载数据之前增加 `loading` 动画

创建组件

1、新建 .vue 文件: src -> components -> laoding -> index.vue

2、编辑 index.vue 文件

<template>
<div class="loading"></div>
</template> <script>
export default {
name: "loading"
}
</script> <style scoped>
.loading {
position: fixed;
left: 20%;
top: 20%;
background: url('../../assets/images/load2.gif') center center no-repeat ;
width: 50vw;
height: 50vh;
z-index: 1000;
} </style>

使用组件

通过自定义一个变量 isLoading 初始化为 true ,在数据请求成功之后将变量改为 false ,在 template 中通过变量来控制是否显示隐藏,使用 vue 自带的 过渡效果 增加用户体验

需要在全局的 css 中加入过渡需要的样式 globle.css

.fade-enter,
.fade-leave-active {
opacity: 0;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}

.vue 文件使用代码示例片段

                <el-table-column prop="salechnl" label="销售渠道" width="200" align="center"></el-table-column>
<el-table-column prop="riskname" label="险种名称" width="200" align="center"></el-table-column>
</el-table>
<!-- 分页 -->
<!-- <div align="right" style="margin-top: 20px;margin-right:245px">-->
<!-- <el-pagination-->
<!-- background-->
<!-- @size-change="handleSizeChange"-->
<!-- @current-change="handleCurrentChange"-->
<!-- :current-page.sync="currentPage"-->
<!-- :page-sizes="pageCount"-->
<!-- :page-size="5"-->
<!-- layout="sizes, prev, pager, next, jumper,total"-->
<!-- :total="count"-->
<!-- ></el-pagination>-->
<!-- </div>-->
<transition name="fade">
<loading v-if="isLoading"></loading>
</transition> </div> </div>
</template>
<script>
import http from '../../../assets/js/http'
import Loading from '../../../components/loading/index'
export default {
components:{ Loading },
data() {
return { isLoading: false,
dData: [],
methods: {
loadData(){
this.isLoading = true;
var data = {};
//参数
let userInfo = Lockr.get('userInfo')
if (this.formInline.contract_start_date != '' ) {
data.contract_start_date = this.formatter(this.formInline.contract_start_date, "yyyy-MM-dd")
} else {
data.contract_start_date = "";
};
if (this.formInline.contract_end_date != '' ) {
data.contract_end_date = this.formatter(this.formInline.contract_end_date, "yyyy-MM-dd")
} else {
data.contract_end_date = this.formInline.contract_end_date
};
console.log("%c -------传递额参数-----","color:green");
console.log(data);
this.apiPost('underwritelist/queryunderwritelist', data).then((res) => {
console.log(res);
this.tableData=[];
this.handelResponse(res, (data) => {
console.log(res);
this.tableData = data.list;
this.count = data.total;
this.isLoading = false;
})
});
},

当vue 页面加载数据时显示 加载loading的更多相关文章

  1. viewPager使用时加载数据时显示IllegalStateException异常,解决不了。。。。

    从newsPager中得到newsDetailTitles标题的详细内容,这是通过构造器传过来的.打印日志78行能打印,45行打印出来共size是12.但是程序出现了异常java.lang.Illeg ...

  2. jquery加载数据时显示loading加载动画特效

    插件下载:http://www.htmleaf.com/jQuery/Layout-Interface/201505061788.html 插件使用: 使用该loading加载插件首先要引入jQuer ...

  3. jquery mobile 请求数据方法执行时显示加载中提示框

    在jquery mobile开发中,经常需要调用ajax方法,异步获取数据,如果异步获取数据方法由于网速等等的原因,会有一个反应时间,如果能在点击按钮后数据处理期间,给一个正在加载的提示,客户体验会更 ...

  4. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  5. vue 中监测滚动条加载数据(懒加载数据)

    vue 中监测滚动条加载数据(懒加载数据) 1:钩子函数监听滚动事件: mounted () { this.$nextTick(function () { window.addEventListene ...

  6. Fullcalendar改版后发布到IIS或者tomcat里面前端加载数据不显示的问题

    问题如题:Fullcalendar改版后发布到IIS或者tomcat里面前端加载数据不显示的问题 解决办法:通过火狐浏览器工具发现是时间格式不对的原因,需要将时间格式修改为:yyyy-MM--DD   ...

  7. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  8. 实现easyui datagrid在没有数据时显示相关提示内容

    本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...

  9. easy ui datagrid在没有数据时显示相关提示内容

    $(function () { $('#dg').datagrid({ fitColumns: true, url: 'product.json', pagination: true, pageSiz ...

随机推荐

  1. leetcode5698.基本计算器

    给你一个整数数组 nums ,和两个整数 limit 与 goal .数组 nums 有一条重要属性:abs(nums[i]) <= limit . 返回使数组元素总和等于 goal 所需要向数 ...

  2. 有模有样解决Flutter里Webview无法访问HTTP页面的问题

    探索过程 Android9(好像是吧)开始谷歌就默认不让开发者访问不安全HTTP内容了,如果非要用HTTP,那必须在networkSecurityConfig里配置cleartextTrafficPe ...

  3. 15、修改sqldeveloper的JDK路径

    15.1.说明: 1.第一次使用Oracle SQL Developer时会提示选择JDK路径(只会在第一次使用时提示), 如果选择了高版本的JDK(1.8)路径,可能会出现了如下两种情况: (1)s ...

  4. 3、mysql的多实例配置(1)

    3.1.什么是mysql多实例: 3.2.mysql多实例的作用和问题: 3.3.mysql多实例生产应用的场景: 1.资金紧张的公司: 2.并发访问并不是很大的业务: 3.门户网站应用mysql多实 ...

  5. MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列

    本文基于 MySQL 8 在前面的两篇文章,我们分析了 MySQL InnoDB 引擎的两种行记录存储格式: Compact 格式 Redundant 格式 在这里简单总结下: Compact 格式结 ...

  6. 使用kubeadm进行k8s集群升级

    一.目标 操作系统:CentOS Linux release 7.6.1810 (Core) 安装软件: docker:18.06.3-ce 从v1.15.5升级到v1.16.15 当前版本: [ro ...

  7. Docker安装单点RabbitMQ

    环境准备 Centos 7.5 docker环境 安装步骤 拉取镜像 $ docker pull rabbitmq:management 说明: 获取rabbiymq镜像的时候要记得获取managem ...

  8. 6-x2 echo命令:将指定字符串输出到 STDOUT

    echo 用法 常用转义符 echo 用法     echo 用来在终端输出字符串,并在最后默认加上换行符. echo 加上-n参数可以使数据字符串后不再换行 echo 加上-e参数可以解析转义字符 ...

  9. ESP8266相关知识笔记

    1.ESP8266 可以用来做串口透传,PWM 调控,远程控制开关:控制插座.开关.电器等.2.ESP8266有几种不同的使用方式,适用于不同水平的开发工作者. 使用AT指令进行操作:这是最常见的方式 ...

  10. DIY一个智能开关kwswitch

    源码地址:https://gitee.com/kerwincui/kwswitch 平台简介 该智能开关平台包括服务端.硬件端.PC端和安卓端.硬件使用ESP8266模块,成本相对较低,可以发挥想象力 ...