Angular material 在select中超过了mat select最大调用堆栈大小,为800+;选择权

Angular material 在select中超过了mat select最大调用堆栈大小,为800+;选择权,angular-material,Angular Material,我正在使用mat select填充下拉列表中的对象数组。通过单击“全部”,可以选择和取消选择所有值。为此,我将清空与之关联的表单控件,并选择all,用所有ID填充表单控件。对于小数据,其工作正常。对于超过800的数据,当我在取消选择al时清空formcontrol时,它会抛出一个错误(超过最大调用堆栈大小) 在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.\uu tryOrU

我正在使用mat select填充下拉列表中的对象数组。通过单击“全部”,可以选择和取消选择所有值。为此,我将清空与之关联的表单控件,并选择all,用所有ID填充表单控件。对于小数据,其工作正常。对于超过800的数据,当我在取消选择al时清空formcontrol时,它会抛出一个错误(超过最大调用堆栈大小) 在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.\uu tryOrUnsub(Subscriber.js:200) 在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next(Subscriber.js:130) )

component.html

 <mat-select [formControl]="courseFormControl" multiple aria-label="Course Name"
          [(ngModel)]="selectedCourseIds">
<mat-option *ngFor="let course of courseList"
           (onSelectionChange)="onCourseSelect($event,courseFormControl)">
            {{course.courseName}}
          </mat-option>
</mat-select>
在取消所有帮助时抛出错误

core.js:15724错误范围错误:超过最大调用堆栈大小 在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.\uu tryOrUnsub(Subscriber.js:200) 在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next(Subscriber.js:130) 在Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u next(Subscriber.js:76) 在Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next(Subscriber.js:53) 在EventEmitter.push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next(Subject.js:47) 在EventEmitter.push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit(core.js:13499) 在MatOption.push../node\u modules/@angular/material/esm5/core.es5.js.MatOption.\u emitSelectionChangeEvent(core.es5.js:2803)
在MatOption.push../node_modules/@angular/material/esm5/core.es5.js.MatOption.deselect(core.es5.js:2595)

欢迎来到Stackoverflow。请修复拼写错误,并通过区分描述和错误详细信息来设置描述格式,以使您的问题更具可读性,并增加获得好答案的机会。(注意:我试图解决拼写和格式问题,但这需要时间,因为有许多问题需要纠正,因此我请求您纠正这些问题。
 onCourseSelect(event, form) {
    if(event.isUserInput) {
  let listCourseId =  [];
//data contains the total list
              data.map((val,ind) => {
                if(val.selected === true){
                  listCourseId.push(val.courseId)
                }
              });
          this.selectedCourseIds = listCourseId;

          this.courseFormControl.setValue(listCourseId);
}