ExpressionChangedAfterItHasBeenCheckedError材质选择列表

时间:2018-02-09 22:09:58

标签: angular angular-material angular-reactive-forms

在向我扔西红柿之前,请先阅读。我在这里找到了大量有关此问题和解决方案的相同错误的主题,例如AfterViewChecked'和' AfterContentChecked'只是不工作,因为它只是清除了控制台中的错误,我无法获得理想的结果。

我有两个材料选择列表,其中包含下一个

等数据
@Bean
public A a(B b) {
    A a = new A();
    a.successor = b;
    return a;
}

@Bean
public B b(C c) {
    B b = new B();
    b.successor = c;
    return b;
}

@Bean
public C c() {
    return new C();
}

这种选择方法很好:

categories1 = ['1', '2', '3', '4', '5']

categories2 = [{'id':'1'}, {'id':'2'}, {'id':'3'}, {'id':'4'}, {'id':'5'}]

但是这个选择列表会给我一个错误:

     <mat-selection-list dense #categoryId [formControlName]="'categoryId'">
         <mat-list-option *ngFor="let category of categories1
                          [value]="category.id
                          [selected]="selectedCategories(category.id)" >
         {{category.name}}
       </mat-list-option>
    </mat-selection-list>



ngOnInit() {
    this.form = this.formBuilder.group({
      categoryId: new FormControl([], []),
    })
    let array = ['2', '3']

    this.form.get('categoryId').patchValue(item.categoryId);
  }

 selectedCategories(id) {
     return this.form.get('categoryId').value.some(item => item === id);
  }

有人可以解释一下,这里发生了什么?提前致谢

0 个答案:

没有答案