开发者社区> 问答> 正文

在子表单中限制某组件的最大值不能超过同子表单内的另外一个组件的值

在一个子表单内有两个组件,一个代表库存量,一个代表出库数量,我在出库数量的校验里编辑了自定义函数,想实现约束出库数量不能大于当前库存量,尝试多次以后发现既无法实现预想功能,也没有任何错误提示。

 
 const subFormInst = this.$('tableField_l36mzvt9');
//这是目标子表单
   const items1 = subFormInst.getItems();
   items.forEach(item => {
    const fieldInst = subFormInst.getComponent(item, 'numberField_l36mzvt5');
//这是试图获取库存组件的当前值
    console.log(fieldInst.getValue());
  });

  if(value > items1.value){
    return true;
  }
  return false;
 }//这是试图判断两个组件的值

展开
收起
羽墨画秋 2022-07-04 23:04:52 7911 0
来自:钉钉宜搭
4 条回答
写回答
取消 提交回答
  • 直接在子表里面自定义函数判断就可以了,你用写这么麻烦的代码

    2022-11-27 16:25:15
    赞同 展开评论 打赏
  • 在出库数量这个控件这里设置这个自定义函数 function validateRule(value) { const a = this.$('库存id').getValue(); if(value>a){ return false; } }

    2022-07-06 10:59:36
    赞同 展开评论 打赏
  • 1.比较建议库存的校验采取远程变量的形式与实时库存做比较,页面级别校验一定是存在延迟性的。 2.你这个items1是什么,怎么能和value做比较呢,与你写的foreach循环也毫无关联,实在要做明细表的比较就必须要知道明细自身的formGroupId,或者index值,但是显然校验函数中是不存在这两个参数的。 3.校验完全可以在js面板中写onchange函数中传参就包含formGroupId(自行查阅开发文档),分别取到两个值进行比较,使用Dialogapi进行提醒后清空出库数量的形式

    2022-07-05 14:26:29
    赞同 展开评论 打赏
  • 微信搜索「龙哥手记」,回复关键字:见面礼

    代码写的很好

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

相关电子书

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