gpt4 book ai didi

Angular - ExpressionChangedAfterItHasBeenCheckedError on ngFor

转载 作者:行者123 更新时间:2023-12-04 05:56:39 26 4
gpt4 key购买 nike

我正在用数组中的数据填充表格,我想将自定义输入集中在表格的最后一个元素上,所以我有这个:

<tr *ngFor="let detail of detailsList; let i = index" (dblclick)="showDetailDetails(detail.ID, i)">
<th>{{ a few table fields}}</th>
<th>
<md-input-container>
<input [focus]="detailsList.length-1 == i" mdInput type="number" (keypress)="qtKeyDown($event)" (change)="getTotalNetAmount(i)" [(ngModel)]="detail.OrderedQuantity" [ngModelOptions]="{standalone: true}" value="{{detail.OrderedQuantity}}" min="1" OnlyNumber="true" [disabled]="!editMode">
</md-input-container>
</th>
<th>
(More fields)
</th>
</tr>

它按预期工作,但当数组中有超过 1 个项目时,我的控制台出现错误。我注意到问题出在这段代码中:

detailsList.length-1 == i

这个错误有办法解决吗?代码按预期工作,因此此错误不会影响网站的行为,问题是我不希望用户在浏览器控制台中看到错误。

最佳答案

这通常与 changeDetection 有关。没有看到您的代码,我猜您在某个时候正在执行 push() 。在你的 push() 之后添加:

import { ChangeDetectorRef } from '@angular/core';

constructor(private ref: ChangeDetectorRef) { }


this.something.push(someVar);
this.ref.detectChanges();

关于Angular - ExpressionChangedAfterItHasBeenCheckedError on ngFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com