ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題
ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)
問題描述:在使用vue+element開發(fā)Dialog嵌套表單的時候,表單交數(shù)據(jù)關(guān)閉之后再次打開表單沒有重置,仍顯示上次輸入的數(shù)據(jù)。
點擊新增,顯示彈窗

添加后,數(shù)據(jù)顯示在頁面中。當再次點擊新增時出現(xiàn)以下界面:仍保留上次的數(shù)據(jù),而且若修改表單中數(shù)據(jù)頁面中的數(shù)據(jù)也會被修改。
根本原因是 form表單對象保留了上次的數(shù)據(jù),應(yīng)該將其置空。
重置方法
嵌套表單的彈窗的代碼:
<el-button type="text" @click="dialogFormVisible = true"
@open="resetForm">彈窗</el-button> //@open事件綁定打開表格時重置
<el-dialog title="收貨地址" :visible.sync="dialogFormVisible">
<el-form :model="form" ref="form" :rules="rules">
<el-form-item prop="id" label="編號" :label-width="formLabelWidth">
<el-input v-model="form.id" autocomplete="off"></el-input>
</el-form-item>
<el-form-item prop="name" label="名稱" :label-width="formLabelWidth">
<el-input v-model="form.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item prop="type" label="型號" :label-width="formLabelWidth">
<el-input v-model="form.type" autocomplete="off"></el-input>
</el-form-item>
<el-form-item prop="company" label="廠家" :label-width="formLabelWidth">
<el-input v-model="form.company" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">確 定</el-button>
</div>
</el-dialog>
<script>
export default {
form:{
id:'',
name:'',
type:'',
company:''
}
methods:{
resetForm(){
this.form={}; //重置表格對象
}
}
}
};
</script>將Dialog彈窗的打開事件綁定方法,然后在方法中使用this.form={}進行重置。
this.form={}這個的意思是把表單初始化為一個空對象,后期可以往這個對象里賦值。
關(guān)閉element UI的彈窗,再次打開顯示表單驗證提示
打開彈窗,沒有填寫任何信息,點擊保存按鈕,觸發(fā)了表單的驗證提示,沒有進行任何操作,點擊【關(guān)閉按鈕】或者【取消按鈕】關(guān)閉彈窗,再次打開彈窗,仍然顯示表單的驗證提示信息,

解決方法
給el-dialog添加@close事件,給取消按鈕添加點擊事件,在事件中對表單進行重置操作,即可解決


重置表單
this.$refs.dialogForm.resetFields();

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用vue-router在Vue頁面之間傳遞數(shù)據(jù)的方法
這篇文章主要介紹了使用vue-router在Vue頁面之間傳遞數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
基于Vue+Openlayer實現(xiàn)動態(tài)加載geojson的方法
本文通過實例代碼給大家介紹基于Vue+Openlayer實現(xiàn)動態(tài)加載geojson的方法,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09

