当前位置:   article > 正文

优雅使用 Element-UI 的 Loading 组件_elmentui loading

elmentui loading

背景

Element-UI 提供了 Loading 组件,通过对于这个组件进行一些处理,我们能做到在发送请求的时候进行 loading 操作

实现

先写一个 loading.js 文件:

  1. import { Loading } from 'element-ui';
  2. let loadingCount = 0;
  3. let loading;
  4. const startLoading = () => {
  5. loading = Loading.service({
  6. lock: true,
  7. text: '加载中……',
  8. background: 'rgba(0, 0, 0, 0.7)'
  9. });
  10. };
  11. const endLoading = () => {
  12. loading.close();
  13. };
  14. export const showLoading = () => {
  15. if (loadingCount === 0) {
  16. startLoading();
  17. }
  18. loadingCount += 1;
  19. };
  20. export const hideLoading = () => {
  21. if (loadingCount <= 0) {
  22. return;
  23. }
  24. loadingCount -= 1;
  25. if (loadingCount === 0) {
  26. endLoading();
  27. }
  28. };

再在 axios 的 interceptor 中调用:

  1. // ...
  2. import { showLoading, hideLoading } from './loading';
  3. /* 请求拦截器(请求之前的操作) */
  4. ajax.interceptors.request.use((req) => {
  5. showLoading();
  6. return req;
  7. }, err => Promise.reject(err));
  8. /* 请求之后的操作 */
  9. ajax.interceptors.response.use((res) => {
  10. hideLoading();
  11. return res;
  12. return Promise.reject(res);
  13. }, (err) => {
  14. hideLoading();
  15. return Promise.reject(err);
  16. });



作者:最尾一名
链接:https://www.jianshu.com/p/95ec2286bc6d
来源:简书

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/227738
推荐阅读
相关标签
  

闽ICP备14008679号