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));
相关推荐
Exquisite.1 天前
Nginx
服务器·前端·nginx
打小就很皮...1 天前
dnd-kit 实现表格拖拽排序
前端·react.js·表格拖拽·dnd-kit
Ulyanov1 天前
从静态到沉浸:打造惊艳的Web技术发展历程3D时间轴
前端·javascript·html5·gui开发
打小就很皮...1 天前
React 19 + Vite 6 + SWC 构建优化实践
前端·react.js·vite·swc
Highcharts.js1 天前
使用Highcharts与React集成 官网文档使用说明
前端·react.js·前端框架·react·highcharts·官方文档
这是个栗子1 天前
AI辅助编程(二) - 通译千问
前端·ai·通译千问
VT.馒头1 天前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
数研小生1 天前
Full Analysis of Taobao Item Detail API taobao.item.get
java·服务器·前端
Shirley~~1 天前
Vue-skills的中文文档
前端·人工智能
毎天要喝八杯水1 天前
搭建vue前端后端环境
前端·javascript·vue.js