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

Angular中如何默认勾选指定PCP值的复选框

解决方案

问题出在你给复选框加了*ngIf="item.FORMA_PAGO == 'PCP'",这会直接把非PCP项的复选框整个移除,导致其他行看不到复选框。要实现所有复选框正常显示、仅PCP项默认勾选的效果,只需做以下3处修改:

  • 删掉复选框上的*ngIf="item.FORMA_PAGO == 'PCP'",确保所有符合userType!==137条件的行都能显示复选框
  • 把固定的checked="true"改成属性绑定[checked]="item.FORMA_PAGO === 'PCP'",让复选框根据当前item的FORMA_PAGO值自动设置默认勾选状态
  • 修正ID绑定错误:将[id]="'credito'+ creditosList.DOCUMENTO_FAVOR"改为[id]="'credito'+ item.DOCUMENTO_FAVOR",避免所有行ID重复或取到错误值

修改后的完整代码:

<ng-template #showGrid>
  <tbody class="TableNota">
    <tr *ngFor="let item of creditosList; let row_no = index">
      <td *ngIf="userType!==137" class="text-center">
        <input type="checkbox"
               class="chk"
               [id]="'credito'+ item.DOCUMENTO_FAVOR"
               [value]="item.DOCUMENTO_FAVOR"
               (change)="guardarList(item,$event.target.checked)"
               [checked]="item.FORMA_PAGO === 'PCP'"
               />  
      </td>
      <td class="text-center">{{ item.DOCUMENTO }}</td>
      <td class="text-center">{{ item.CONTRATANTE }}</td>
      <td class="text-center">{{ item.MONEDA }}</td>
      <td class="text-center">{{ item.MONTO | number:'1.2-2' }}</td>
      <td class="text-center">{{ item.FORMA_PAGO }}</td>
    </tr>
  </tbody>
</ng-template>

修改后,所有符合用户类型条件的行都会显示复选框,其中FORMA_PAGO为PCP的项会默认被勾选,其他项保持未勾选状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:25:27