el-dialog 关闭后子组件又调用了接口
时间: 2023-10-09 09:13:51 浏览: 82
在 el-dialog 关闭后,子组件如果调用了接口,可能会导致一些问题。因为 el-dialog 关闭后,它的子组件已经销毁了,此时如果子组件调用接口会出现找不到对象的错误。
为了避免这种情况,可以在 el-dialog 关闭后,手动清空子组件中的数据和状态,或者在子组件中判断 el-dialog 是否已经关闭,如果已经关闭则不执行接口调用操作。
以下是一个示例代码:
```vue
<template>
<el-dialog :visible.sync="dialogVisible" @close="handleClose">
<child-component ref="childComponent"></child-component>
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogVisible: false
}
},
methods: {
handleClose() {
this.$refs.childComponent.clearData() // 手动清空子组件中的数据和状态
}
}
}
</script>
<template>
<div>
<!-- ... -->
</div>
</template>
<script>
export default {
methods: {
loadData() {
if (!this.$parent.dialogVisible) return // 判断 el-dialog 是否已经关闭
// 调用接口
},
clearData() {
// 清空数据和状态
}
}
}
</script>
```
阅读全文