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));
相关推荐
边界条件╝1 分钟前
Pinia 深度使用实战
前端·vue.js
英俊潇洒美少年4 分钟前
前端 Jest 单元测试零基础实战:模板、提效、避坑、面试题(Vue 项目可用)
前端·vue.js·单元测试
和blue一起变得更好7 分钟前
周三:Vue3高级组件特性
前端·javascript·vue.js
happyprince10 分钟前
10-Hugging Face Transformers 量化系统深度分析
java·前端·数据库
AskHarries11 分钟前
如何使用 OpenClaw Skill
前端
AI周红伟23 分钟前
Agent Skills生产级Skills 案例实操-周红伟
前端·chrome·react.js·langchain
nickel36930 分钟前
Qoder相关使用
java·开发语言·vue.js·spring boot
用户862841295494431 分钟前
Flutter rxflare 响应式进阶:Map/List 精准字段更新(高性能实战)
前端·flutter
横木沉32 分钟前
高并发场景下的前端缓存与降级策略
大数据·前端·缓存
三翼鸟数字化技术团队39 分钟前
十万条数据怎么办?Vue3虚拟列表让你纵享丝滑
vue.js