场景:
复制按钮,可以将表单的指定字段保留值,其他字段删除。点击保存的时候相当于走的是新增接口
之前的写法都是类似于this.form.id = ‘’,如果表单字段多的话,可能有四五十行代码都是这样
还是想优化一下
思路:
获取对象的所有key,循环key,将不是指定字段的key删除
备注:
this.form[item] 这样的写法拿到的是key对应的value值
this.form[‘item’] 这样的写法拿到的是key为item的这一项
this.form[${item}
] 这样的写法才是动态的拿到循环的每一项的key
// 复制
confirmClick() {
this.$confirm(this.$t('confirmText.copyMsg'), this.$t('confirmText.tip'), {
confirmButtonText: this.$t('btnName.confirm'),
cancelButtonText: this.$t('btnName.cancel'),
type: 'warning',
}).then(() => {
const keyArr = Object.keys(this.form)
keyArr.forEach(item => {
if (item !== 'a' && item !== 'b' && item !== 'c') {
delete this.form[`${item}`]
} else {
this.form.status = 'normal'
}
})
this.$message.success(this.$t('messageText.copySuccess'))
})
},