在做后台管理系统的时候肯定会用到添加编辑,正常肯定是写两个弹窗,那这样就会非常麻烦,占用代码资源,可以使用简易方法,就那elment-plus组件库来举例
先看弹窗结构
<el-dialog v-model="table.mode" :title="" width="30%" align-center :close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true" :before-close="close"> <div style="display: flex;justify-content: center;align-items: center;"> </div> <template #footer> <span class="dialog-footer"> <el-button type="primary" @click="yes"> 确定 </el-button> </span> </template> </el-dialog>
这里的title可以写成三元表达式
:title="form.id==''?'新增':'编辑'"
在下面的reactive中定义
const form = reactive({ id:'' })
当关闭的时候就是这个弹出框的:before-close事件
关闭的时候给form.id赋值为空
点击编辑按钮时候给form.id赋值id
最终可以实现一个弹出框做两件事