开发者社区> 问答> 正文

子表单中数据联动出来的成员组件数据,如何直接Onchange直接赋值到主表的成员组件

已解决

我的需求想实现子表单中,选择“印章名称”自动关联出来印章保管人,并且可以去重,并复制给主表的“印章保管人(统计)”
image.png

目前代码只能实现点选子表中的“印章保管人”选一次,才能实现赋值给主表的数据。请教要如何调整代码设置?
image.png

image.png

展开
收起
游客6wk3vfq275ihq 2024-12-25 20:51:48 99 0
来自:钉钉宜搭
1 条回答
写回答
取消 提交回答
  • 若问题得到了解决,辛苦点下采纳回答哦~
    采纳回答

    您好,由于【印章保管人】是根据【印章名称】联动出来的,可以考虑在【印章名称】的onChange改变事件中,延迟再获取整个子表单数据,然后循环子表单的保管人,赋值给主表的【印章保管人】,以下参考示例可以看看,希望可以帮助到您

      setTimeout(() => {
        //延迟1秒获取子表单的值,避免数据联动还没完全联动时就执行
        var tab = this.$("tableField_m54t6gkd").getValue()
        // 子表单成员2(多选模式)
        const employeeData = tab.filter((item) => {
          return !_.isEmpty(item.employeeField_m54t6gke || []);//这里是子表单成员组件的唯一标识
        });
        const users2 = [];
        for (let i = 0; i < employeeData.length; i++) {
          //这里是子表单成员组件的唯一标识
          for (let j = 0; j < employeeData[i].employeeField_m54t6gke.length; j++) {
            users2.push(employeeData[i].employeeField_m54t6gke[j])
          }
        };
        //这里是主表成员组件的唯一标识
        this.$('employeeField_m54t89cn').setValue(_.uniqBy(users2, 'value'));
      }, 1000)
    

    image.png
    效果:image.png

    2024-12-26 12:28:26
    赞同 239 展开评论 打赏
问答分类:
问答地址:
关联地址:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载