我正在尝试根据其他检查来更新FormArray
的复选框。本质上,如果选中了第一项,则所有其他项都必须取消选中。如果他们选中了其他项目,则必须取消选中第一项。
如果您查看上面的示例,当我检查第一个项目时,什么也没有发生。仅当我取消选中另一个项目后,其余的复选框才会消失。为什么会这样呢?我将控件更新包装在setTimeout
块中,这是我认为在此处可接受的做法。
答案 0 :(得分:0)
问题与formcontrols无关,您可以很好地使用它们。它是由pairwise()
运算符引起的。它只有两个值,它才发出值。这就是为什么第一次点击时什么也没有发生的原因。因此您应该向pairwise()
运算符提供初始值。试试这个;
this.formArray.valueChanges.pipe(
startWith([false, true, true, true]),
pairwise()
)