开发者社区 问答 正文

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

已解决

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

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

image.png

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

    您好,由于【印章保管人】是根据【印章名称】联动出来的,可以考虑在【印章名称】的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
    赞同 388 展开评论
  • 您可以监听子表单项的 onchange 事件,在事件触发时通过 JavaScript 代码将值赋给主表对应的成员组件,具体实现可以参考阿里云表格组件官方文档中的事件处理部分:链接。如果需要更详细的指导,建议咨询一下阿里云的工作人员。如果对您有帮助的话,可以帮忙采纳一下。谢谢。

    2025-02-10 10:18:03
    赞同 120 展开评论
问答分类:
问答地址:
关联地址:
归属于问产品:
宜搭
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
还有其他疑问?
咨询AI助理