首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >onBlur在每次击键时都会触发,而不仅仅是失去对控件的关注。

onBlur在每次击键时都会触发,而不仅仅是失去对控件的关注。
EN

Stack Overflow用户
提问于 2019-02-15 06:28:15
回答 2查看 566关注 0票数 0

我这里有一个角的形状

https://stackblitz.com/edit/angular-form-array-duplicate-validation

我对此有两个问题。

  • 每次击键都会调用isNameDuplicate验证器,而我希望它只在模糊环境下被触发。
  • 如果我在第一个用户名中输入John,然后单击add按钮,然后再次输入John,然后将其更正到Jose。我在控制台错误中得到一个错误:

ExpressionChangedAfterItHasBeenCheckedError:表达式已更改 在检查过之后。前值:“ng-有效:false”。当前 值:“ng-有效:true”

如何避免这两个错误?

我该如何避免这些问题。

EN

Stack Overflow用户

回答已采纳

发布于 2019-02-15 07:22:16

使用trackBy

trackBy函数将索引和当前项作为参数,并需要返回该项的唯一标识符。

component.html

代码语言:javascript
运行
复制
<div formArrayName="credentials" *ngFor="let creds of form.controls.credentials?.value; let i = index;trackBy: cmpare;">
          <ng-container [formGroupName]="i">
            <input placeholder="Username" formControlName="username">
            <input placeholder="Password" formControlName="password">
          </ng-container>
 </div>

component.ts

代码语言:javascript
运行
复制
cmpare(index) {
    return index;
}

分叉示例:https://stackblitz.com/edit/angular-form-array-duplicate-validation-8mojks

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54703735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档