重置data中的表单

  /**
     * 重置data内的表单值
     * prames arr 禁止重置的数组
     * @param remore 重置默認的屬性名 ex:['id','name']
     * @param remoreData 重置默認的屬性名賦予的值 ['1008','小三']
     * */
    resetFormData(data, arr = [], remore = [], remoreData = []) {
      for (const prop in data) {
        if (Array.isArray(data[prop])) {
          // 如果属性是数组,则递归调用该方法
          data[prop].forEach(item => this.resetFormData(item))
        } else if (typeof data[prop] === 'object' && data[prop] !== null) {
          // 如果属性是对象且不为null,则递归调用该方法
          this.resetFormData(data[prop])
        } else {
          // 否则重置属性值为null、空字符串或0
          if (remore.includes(prop)) {
            data[prop] = remoreData[remore.indexOf(prop)]
          } else if (!arr.includes(prop)) {
            if (typeof data[prop] === 'string') {
              data[prop] = ''
            } else if (typeof data[prop] === 'number') {
              data[prop] = 0
            } else {
              data[prop] = null
            }
          }
        }
      }
    },

你可能感兴趣的:(js,javascript,前端)