elementui創(chuàng)建dialog組件摸板

在components文件夾下建立myModel.vue文件

<template>
  <div>
    <el-dialog title="收貨地址" :visible.sync="visible1" :before-close="cancelModal">
      <el-form :model="form" :rules="rules" ref="form">
        <el-form-item label="活動名稱" :label-width="formLabelWidth" prop="name">
          <el-input v-model="form.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="活動區(qū)域" :label-width="formLabelWidth" prop="region">
          <el-select v-model="form.region" placeholder="請選擇活動區(qū)域">
            <el-option label="區(qū)域一" value="shanghai"></el-option>
            <el-option label="區(qū)域二" value="beijing"></el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="saveFu">確 定</el-button>
        <el-button @click="cancelModal">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>

<script>

export default {
  props:[
    'visible1'
  ],
  data() {
    return {
      form: {
        name: "",
        region: ""
      },
      formLabelWidth: "100px",
      rules: {
        name: [
          { required: true, message: "請輸入活動名稱", trigger: "blur" },
          { min: 3, max: 5, message: "長度在 3 到 5 個字符", trigger: "blur" }
        ],
        region: [
          { required: true, message: "請選擇活動區(qū)域", trigger: "change" }
        ]
      }
    };
  },
  methods: {
    saveFu() {
      this.$refs["form"].validate(valid => {
        if (valid) {
            this.$message.success('提交成功')
            this.cancelModal()
        }else{
            this.$message.error('所有表單必須填寫')
            return false
        }
      });
    },

    cancelModal(){
        this.$emit('update:visible1',false)
    }
  }
};
</script>

<style lang="less" scoped>
</style>

<template>
    <div>
    
    <el-button type="primary" @click="jumpModel">按鈕</el-button>
    <my-model :visible1.sync='visible1'></my-model>
    
  </div>
</template>
<script>
import MyModelfrom "@/component/MyModel.vue";
    export default {
  data() {
    return {
      visible1: false
    };
  },

  components: {
    MyModel
  },
  methods: {
    jumpModel() {
      this.visible1 = true;
    }
  }
};
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容