vform2 表单数据回显问题

vform2 表单数据回显

问题

ruoyi-flowable-plus 流程绑定的表单需要回显暂存的数据,使用JSON.stringify(this.$refs.vFormRef.getFormData(false))存储数据后,如果表单中含有上传组件并且存储时上传组件没有上传,使用this.$refs.vFormRef.setFormData(JSON.parse(res.content))后,再点击上传会报错

Cannot read properties of undefined (reading 'push')

使用单独的setFieldValue后,有发现因为有子表单数据,setFieldValue无法回显子表单,需要单独处理

解决办法

javascript 复制代码
 			const thisObj = this.$refs.vFormRef.getFormData(false);
            var oldValue = JSON.parse(res.content);
            console.log( this.$refs.vFormRef.formDataModel)
            Object.keys(oldValue).forEach(key => {
              if (thisObj.hasOwnProperty(key)) {
                if(key == 'p_member'){
                  this.$refs.vFormRef.formDataModel["p_member"] = oldValue[key];
                  // 通知SubForm组件:表单数据更新事件!!
                  this.$refs.vFormRef.broadcast('ContainerItem', 'setFormData', this.$refs.vFormRef.formDataModel)
                } else {
                  this.$refs.vFormRef.setFieldValue(key, oldValue[key])
                  console.log('已设置', key ,oldValue[key]);
                }
              }
            });
            // 如果设置的上传值为null的话,以下方法会导致上传组件无法继续上传
            // this.$refs.vFormRef.setFormData(JSON.parse(res.content));
相关推荐
Sailing18 分钟前
🚀 别再乱写 16px 了!CSS 单位体系已经进入“计算时代”,真正的响应式布局
前端·css·面试
喝水的长颈鹿33 分钟前
【大白话前端 03】Web 标准与最佳实践
前端
爱泡脚的鸡腿35 分钟前
Node.js 拓展
前端·后端
左夕2 小时前
分不清apply,bind,call?看这篇文章就够了
前端·javascript
Zha0Zhun2 小时前
一个使用ViewBinding封装的Dialog
前端
兆子龙2 小时前
从微信小程序 data-id 到 React 列表性能优化:少用闭包,多用 data-*
前端
滕青山2 小时前
文本行过滤/筛选 在线工具核心JS实现
前端·javascript·vue.js
时光不负努力2 小时前
编程常用模式集合
前端·javascript·typescript
时光不负努力2 小时前
ts+vue3开发规范
vue.js·typescript
恋猫de小郭3 小时前
Apple 的 ANE 被挖掘,AI 硬件公开,宣传的 38 TOPS 居然是"数字游戏"?
前端·人工智能·ios