【js】对象删除key,场景:表单复制功能只需要少数字段留值

场景:
复制按钮,可以将表单的指定字段保留值,其他字段删除。点击保存的时候相当于走的是新增接口

之前的写法都是类似于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'))
      })
    },

猜你喜欢

转载自blog.csdn.net/weixin_49668076/article/details/130259157
今日推荐