Vue使用el-dialog關閉后重置表單方式
使用el-dialog關閉后重置表單
el-dialog綁定close事件
這個有個注意得地方,可能有很多人會使用closed事件,close:Dialog 關閉的回調(diào);closed:Dialog 關閉動畫結束時的回調(diào)。
本人就是這么入坑得,使用了closed,然后會出現(xiàn)連續(xù)點擊保存按鈕會出現(xiàn)添加多條數(shù)據(jù)問題,原因是因為表單還沒銷毀前我就把按鈕禁用狀態(tài)放開了,導致了連續(xù)點擊按鈕出現(xiàn)多增數(shù)據(jù)問題,大家一定要注意額
重置表單數(shù)據(jù)
resetForms(formName) { this.$refs[formName].resetFields(); }
表單驗證清除
這個主要是加在el-dialog被打開之前,如果你點擊一次保存按鈕,是不會出現(xiàn)驗證報紅得問題得,但是你如果連續(xù)點擊保存,就會出現(xiàn)驗證問題了,這時候就需要添加清除驗證拉。
this.$nextTick(() => { this.$refs.formData.clearValidate(); });
Vue中el-dialog的用法
寫入HTML
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item :label="title + '原因'" prop="reason"> <el-input v-model="form.reason" :placeholder="'請輸入' + title + '原因'" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">確 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog>
寫入變量
// 彈出層標題 title: "", // 是否顯示彈出層 open: false, // 表單參數(shù) form: {}, // 表單校驗 rules: { reason: [ { required: true, message: "參數(shù)名稱不能為空", trigger: "blur" } ], },
寫入方法
// 表單重置 reset() { this.resetForm("form"); }, /** 提交按鈕 */ submitForm: function () { this.$refs["form"].validate((valid) => { if (valid) { //提交保存 } }); }, // 取消按鈕 cancel() { this.open = false; this.reset(); },
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue-cli3使用mock數(shù)據(jù)的方法分析
這篇文章主要介紹了vue-cli3使用mock數(shù)據(jù)的方法,結合實例形式分析了vue-cli3使用mock數(shù)據(jù)的相關實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-03-03