表单重置所有字段,除了一个Vue.js



我试图找到一种方法来排除一个字段输入在我的表单是禁用的,并包含用户ID号的值

我想知道我如何调整this.$refs.form.reset();,因为它工作完美,但它清除一切,我希望包含ID值并重置其他字段,如namesurnameageincome

ID很重要的原因是用户在开始的注册步骤中给出了这个,而我所说的这个表单位于其他地方以完成他的个人资料,我不想再次要求用户输入他的ID。

如果有人知道如何做到这一点,那将是一个很大的帮助

reset方法形式简单地看着所有的输入绑定到它然后重置每一个循环内清空错误包,观察:

reset (): void {
this.inputs.forEach(input => input.reset())
this.resetErrorBag()
},

没有理由你不能做同样的事,除了当他们禁用:

resetForm() {
this.$refs.form.inputs.forEach(input => {
if (!input.disabled) {
input.reset()
}
})
this.$refs.form.resetErrorBag() // necessary to remove validation errors after the field values are removed
}

就可以调用这个函数(对你的Vue实例,而不是你的VForm)和this.resetForm()应该按你所希望的方式。

免责声明:目前无法测试。input.disabled可能不容易获得,并且可能需要进一步检查input元素。

最新更新