我正在使用@ngrx/store
并进行单向数据绑定。
我有一个愚蠢的组件,它获取值列表为@Input()
. 基于这个列表,我创建了一个FormArray
ofFormControl
来允许用户输入。ngOnChanges
如果我SimpleChanges
为值列表提供了新值,我会这样做。
由于单向数据绑定,每次用户输入一个字符时,都会向 store 发送一个动作,并且值列表会ngOnChanges
再次出现。由于FormArray
重新创建了,它不会保留dirty
andpristine
属性。他们被重置。
我正在使用trackBy
.
属性的值对dirty
我来说很重要,因为我使用它来决定是否显示验证警报。
知道如何解决这个问题吗?
我有一个显示问题的 plunker。我使用了 BehaviorSubject 来伪造@ngrx/store
。请尝试在任何输入控件中输入值并观察dirty
和pristine
,如图所示:https ://plnkr.co/edit/xZmU4ww8Y9PEgFOCOOw4?p=info