【问题标题】:Angular form control not updating until next clickAngular 表单控件在下次单击之前不会更新
【发布时间】:2019-06-17 20:55:06
【问题描述】:

https://stackblitz.com/edit/angular-cnvphg 上的示例应用

我正在尝试根据其他检查更新FormArray 的复选框。本质上,如果选中第一项,则必须取消选中所有其他项。如果他们检查任何其他项目,则必须取消选中第一项。

如果您在我检查第一项时查看上面的示例,则没有任何反应。只有在我取消选中另一个项目后,其余的复选框才会空白。为什么会这样?我将控件更新包装在 setTimeout 块中,这是我认为这里公认的做法。

【问题讨论】:

    标签: angular settimeout angular7 formarray


    【解决方案1】:

    问题与表单控件无关,您使用它们就好了。它由pairwise() 运算符引起。在它有两个值之前它不会发出值。这就是为什么在第一次点击时没有任何反应。所以你应该为pairwise() 操作员提供初始值。试试这个;

    this.formArray.valueChanges.pipe(
       startWith([false, true, true, true]),
       pairwise()
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多