vue使用ref结合ElementUI中的Dialog实现弹框的封装使用
第一步:父组件中引入子组件
import AAA from "@/components/AAA" //其中AAA为子组件名称
在components 中注册组件AAA
父页面中引入创建子组件
<!-- 新增编辑组件 -->
<AAA v-if="showDialog" ref="dataDialog" @btnDialogFun="btnDialogFun"></AAA>
v-if=“showDialog” 为是否显示该组件,注意这是父组件中的方法,目的是用来清除缓存带来的问题。
@btnDialogFun 这是用来父子传参使用
ref=“dataDialog” 为ref的方法是用来控制组件的,dataDialog为自定义的组件实例名,
使用ref
可以使用 this.$refs.dataDialog 获取到的是组件实例,可以使用组件的所有方法
注意:
ref 需要在dom渲染完成后才会有,在使用的时候确保dom已经渲染完成。比如在生命周期 mounted(){} 钩子中调用,或者在 this.$nextTick(()=>{}) 中调用。
具体案列如下:
<el-button type="primary" @click="addEdit()">新增</el-button>
<AAA v-if="showDialog" ref="dataDialog"></AAA>
<script>
import