隐藏表单属性的解决方案:在Vue.js中使用v-if和submitForm()方法
如果想让某个属性不显示,可以将其外层的el-form-item标签的v-if属性设置为false,这样该属性对应的表单项就会被隐藏起来。在submitForm()方法中,你可以根据表单的具体情况来判断是否需要提交这些隐藏的属性。以下是示例代码:
submitForm() {
const formCopy = { ...this.form };
delete formCopy.acTaxPiPersonVo;
delete formCopy.acTaxPiPersonCalculationSchedule;
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.personId != null) {
// 更新操作
updateReportingRoyaltiesIncome(formCopy).then((response) => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
// 添加操作
addReportingRoyaltiesIncome(formCopy).then((response) => {
console.log(response, 'resssssssssss')
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
上述代码中,formCopy对象是通过解构赋值复制this.form对象得到的,然后使用delete关键字删除了隐藏的属性。在表单提交时,通过判断this.form.personId是否为null来确定是执行更新操作还是添加操作。
原文地址: https://www.cveoy.top/t/topic/fdz2 著作权归作者所有。请勿转载和采集!