|
|
1
5
您使用formcontrol的方式不是有意的,而且您暴露了一个副作用。 这个bug只出现的原因 之后 您选择了筛选器2,然后返回到筛选器1,因为这会导致输入订阅第二个FormControl,而不取消订阅它绑定到的原始控件。 因此,在测试1中,值变为空白的原因是,首先将过滤器[0]设置为值,然后更新输入元素以显示值,然后将过滤器[1]设置为空,然后更新输入元素以显示空。 您应该将代码更改为在输入上使用ngmodel,或者按照预期使用反应形式。 进一步解释 我签了Github,问题在FormControlDirective中。当@input被更改时,它从shared调用setupcontrol,并在其中监听valueaccessor上的更改以更新视图。问题的出现是因为,据我所知,如果之前已经设置了一个值,就没有地方可以调用某种拆卸方法。 替代方法 我不知道您为什么要首先使用FormControl,但是如果过滤器必须是FormControl类型,那么您可以做的最简单的事情是:
|