resetFields
前言
在使用Element的Form组件对一个表格新增、编辑行时进行验证操作,使用resetFields()方法可以重置表单所有字段值为初始值。在编辑表单时,我们希望调用resetFields()方法时将所有表单数据清空,无需再次对每一个表单数组赋值为初始值,然resetFields()将表单数组初始化为回显后的值,如何解决?
resetFields()
resetFields()方法解析
- 调用resetFields()方法,将表单数据重置为初始值
- 初始值在表单生命周期的mounted钩子中被赋值
- 所以,调用resetFields()只会重置为初始值,而不是空值
思路
在mounted钩子执行时,将表单数据赋值为空值。
方案一:
methods: {
async editForm (params) {
this.dialogFormVisible = true
await this.$nextTick()
this.form = params
}
}
方案二:
methods: {
editForm (params) {
this.dialogFormVisible = true
setTimeout(() => {
this.form = params
}, 0)
}
}