diff --git a/src/components/parser/Parser.vue b/src/components/parser/Parser.vue index e368c023fb2df74ea5839ce3290584b09e79221b..cf68887fa2b7be0a77c5ae1f6f909295c87d9e41 100644 --- a/src/components/parser/Parser.vue +++ b/src/components/parser/Parser.vue @@ -127,6 +127,8 @@ export default { } }, data() { + // 在data里对数据进行拦截 + this.bindUploadSuccess(this.formConf.fields, this.formConf.formModel) const data = { formConfCopy: deepClone(this.formConf), [this.formConf.formModel]: {}, @@ -177,7 +179,19 @@ export default { this.$emit('submit', this[this.formConf.formModel]) return true }) - } + }, + // 为el-upload绑定一个on-success事件,并将返回值返回给表单 + bindUploadSuccess(fields, target) { + if(!fields){return;} + fields.map((item) => { + if (item.action) { + item['on-success'] = (res, file, fileList) => { + this._data[target][item.__vModel__] = fileList + console.error(this._data[target][item.__vModel__]) + } + } + }) + }, }, render(h) { return renderFrom.call(this, h)