当我们通过接口调取数据时,有那么一两秒的时间,是在动态的加载数据,有可能会出现一个 暂无数据 的尴尬场景,这个时候,我们可以用到loading了。我们可以以下面这种优雅的方式去使用它。
先写一个 loading.js 文件:
import { Loading } from 'element-ui';
let loadingCount = 0;
let loading;
const startLoading = () => {
loading = Loading.service({
lock: true,
text: '加载中……',
background: 'rgba(0, 0, 0, 0.7)'
});
};
const endLoading = () => {
loading.close();
};
export const showLoading = () => {
if (loadingCount === 0) {
startLoading();
}
loadingCount += 1;
};
export const hideLoading = () => {
if (loadingCount <= 0) {
return;
}
loadingCount -= 1;
if (loadingCount === 0) {
endLoading();
}
};
再在 axios 的 interceptor 中调用:
/ ...
import { showLo