封装element弹窗组件 使用sync

父组件调用,使用 :show.sync=“addBox.show”

<!-- 新增 -->
    <add-data
      v-if="addBox.show"
      :show.sync="addBox.show"
      :detail="addBox"
      :formOptions="formOptions"
      @update="getList()"
    ></add-data>

弹窗组件 需要使用计算属性来过渡,不然直接使用自定义事件去改变show可以是可以,但是element右上角自带的关闭会报错(还是能关闭的)

<template>
  <el-dialog :close-on-click-modal="false" title="新增" :visible.sync="shows" width="80%">
    <span slot="footer" class="dialog-footer">
      
      <el-button @click="shows = false">取消</el-button>
    </span>

  </el-dialog>
</template>

<script>

  export default {
    props: {
      show: {
        type: Boolean,
        default: false
      },
      formOptions: {
        type: Object,
        default: () => {}
      },
      detail: {
        type: Object,
        default: () => {}
      }
    },
    data() {
      return {
        
      };
    },
    computed: {
     
      shows: {
        get() {
          return this.show;
        },
        set(newValue) {
          this.$emit('update:show', newValue);
        }
      }
    },

 
    methods: {
      
     
  };
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值