You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 14代码重构:合并重复的patchValue调用

解决方案

可以通过梳理commodityDescription的取值逻辑,把所有分支的赋值逻辑合并,最终只调用一次patchValue,重构后的代码如下:

public selectionChange(value: any): void {
  let commodityDescription = '';

  if (value) {
    commodityDescription = this.initialFormValue.commodityId === value.commodity.commodityId
      ? this.initialFormValue.commodityDescription
      : value.commodity.description;
  }

  this.loadForm.patchValue({ commodityDescription });
}

逻辑说明

  • 先给commodityDescription设置默认空值,对应原代码中!value的场景
  • 当value存在时,用三元运算符替代原有if-else分支,直接确定commodityDescription的取值
  • 最后统一调用一次patchValue完成表单赋值

这种写法保留了原有的全部业务逻辑,同时消除了重复的patchValue调用,代码更简洁易维护。后续如果需要扩展分支逻辑,也可以在if(value)块内补充,不会增加patchValue的调用次数。

内容的提问来源于stack exchange,提问作者TrevorGoodchild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:45:41