ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的解决方法
问题描述:在使用vue+element开发Dialog嵌套表单的时候,表单交数据关闭之后再次打开表单没有重置,仍显示上次输入的数据。
·
问题描述:在使用vue+element开发Dialog嵌套表单的时候,表单交数据关闭之后再次打开表单没有重置,仍显示上次输入的数据。
点击新增,显示弹窗
添加后,数据显示在页面中。当再次点击新增时出现以下界面:仍保留上次的数据,而且若修改表单中数据页面中的数据也会被修改。根本原因是form表单对象保留了上次的数据,应该将其置空
。
重置方法
嵌套表单的弹窗的代码:
<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={}这个的意思是把表单初始化为一个空对象,后期可以往这个对象里赋值。
更多推荐
已为社区贡献3条内容
所有评论(0)