values () {
    return new Promise((resolve, reject) => {
      const pending = []
      const values = cloneDeep(this.form.proxy)
      for (const key in values) {
        if (typeof this.form.proxy[key] === 'object' && this.form.proxy[key] instanceof FileUpload) {
          pending.push(
            this.form.proxy[key].upload().then(data => Object.assign(values, { [key]: data }))
          )
        }
      }
      Promise.all(pending)
        .then(() => resolve(values))
        .catch(err => reject(err))
    })
  }
Asynchronously generate the values payload of this form.
@return {Promise} resolves to json