父组件代码,假如父组件要关闭弹窗时候,需要做一系列操作,例如关闭弹窗时需要将子组件中的内容恢复成原来的样子,那么该如何调用呢?
1、首先应该在子组件上面加一个ref,例如:ref=“child”,
<el-dialog
title="【细菌列表】"
:visible.sync="bacteriaDialog"
element-loading-text="正在加载"
@closed="closedDialog"
>
<publicListGerm
ref="child"
v-model="bacteriaListQuery"
:bacteria-type="bacteriaType"
:select="true"
:select-title="'细菌类别'"
:bacteria-type-list="bacteriaType"
:left-list="bacteriaTypeList"
@getSeparateBacteriadList="changeSelectOne"
@changeSelectOne="changeSelectOne"
@submit="submitBacteriaMax"
@handleClose="close"
@bacPush="submitBacteriaMax"
@changeRadio="changeRadio"
/>
2、在父组件的closed方法中使用this.$refs.child.方法名()调用子组件的方法。![在这里插入图片描述](https://img-blog.csdnimg.cn/993561df92604357ae384a934ede4d6c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP5YCq5pyJ54K56I-c,size_20,color_FFFFFF,t_70,g_se,x_16)
closedDialog() {
this.$refs.child.handleClose()
},
子组件
子组件这边有个handleClose方法即可,在handleClose方法中将其初始化。例如将radio初始值变为1
![在这里插入图片描述](https://img-blog.csdnimg.cn/2edf126597f441caa38da409d995e5c9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP5YCq5pyJ54K56I-c,size_20,color_FFFFFF,t_70,g_se,x_16)