element UI的Loading服务调用无法停止
首先是来自element的官方解释
当我以服务的方式调用loading的时候,没问题。
代码如下:
axios.interceptors.request.use((config) => {
// 遮蔽式请求框
loading = Loading.service({fullscreen: true, text: '拼命加载中....'})
// , target: 'div.tableList, div.right_out'
return config
}, (error) => {
console.log('发送失败')
Notification.error({
title: '发送失败',
message: error.message
})
loading.close()
return Promise.reject(error)
})
// 返回状态判断
axios.interceptors.response.use((response) => {
console.log('请求成功')
if (response.status === 200) {
if (response.data.code === -1) {
Notification.error({
title: '请求异常',
message: response.data.message
})
}
loading.close()
return response
}
}, (err) => {
console.log('请求失败')
loading.close()
return Promise.reject(err)
})
此时loading.close()可以正常的结束loading。但是如果给loading指定覆盖的target的时候
loading = Loading.service({fullscreen: true, text: '拼命加载中....', target: 'div.tableList, div.right_out'})
// target Loading 需要覆盖的 DOM 节点。可传入一个 DOM 对象或字符串;若传入字符串,则会将其作为参数传入 document.querySelector以获取到对应 DOM 节点 默认值:document.body
此时loading.close()无法关闭loading。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
指定target时 每次返回的都是单独的实例 需要自己建列表手动维护
在拦截起调用新的Loading之前检测是否有实例存在,如果有则调用close()方法关闭实例,然后再调用新的Loading
或者可以试试如果实例存在,则不创建新的实例
if (loadinginstace) {
}