宜搭如何实现关联项多选填充子表单时,修改了某行,再次添加多选项时,修改的数据行不被重置[阿里云宜搭]

用宜搭关联多选表单填充子表单JS代码后,实际工作中存在下列问题 1.仓库在勾选清单进行入库操作后,通常是勾选一个清单,勾选的清单默认会带出应入库的数量,此时仓库修改本次要入库的数量,并且再次选择其他要入库的清单,并再次重复此操作,按照宜搭的代码,每次多选其他项时,修改的数量会被重置成应入库数量,无法满足实际工作中边进行清点边进行录单操作。如果要修改话,能实现吗,有没有大神懂得,原宜搭代码如下“`js


export async function onAssociationFormChange({ value }) {
  if (value.length) {

    const batchFetchResult = []; // 请求结果
    const failedInstId = []; // 请求失败的实例ID
    const batchFetchLoading = this.utils.toast({
      title: `处理中,请不要关闭浏览器,预计需要 ${value.length / 5} 秒`,
      type: 'loading'
    });
    for (let i = 0; i  {
        // 注意节流,每次请求间隔 200 ms
        setTimeout(async () => {
          await this.dataSourceMap.getDataById.load({
            // 数据源参数
            formInstId,
          }).then(res => {
            // 处理每次返回的结果
            if (!res) { return };
            batchFetchResult.push(res || {});
          }).catch(error => {
            // 处理错误,收集错误的实例ID
            failedInstId.push(formInstId);
          });
          resolve();
        }, delay);
      }));
    };
    batchFetchLoading();
    if (failedInstId.length > 0) {
      let content = (
        
          {failedInstId.map((instId) => {
            return 

{instId}

})} ); this.utils.dialog({ method: 'alert', title: `处理完成,失败 ${failedInstId.length} 条`, content, onOk: () => { }, onCancel: () => { }, }); }; // 上述代码均不需要修改 // 下述代码按照实际情况修改字段映射即可 const tableData = batchFetchResult.map(item => { const { formData = {} } = item; return { textField_l9pa49io: formData.textField_l9p9znox || '', // 付款说明 numberField_l9pa49ip: formData.numberField_l9p9znoy || 0 // 付款金额 } }); this.$('tableField_l9pa49in').setValue(tableData); } else { // 初始化子表单 this.$('tableField_l9pa49in').setValue([]); }; }

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!