首页 > 解决方案 > 错误:尝试区分“”时出错。只允许使用数组和可迭代对象

问题描述

我有一个多选字段。当我重置该字段中的所有值时发生错误

Html

<mat-form-field appearance="outline" fxFlex="100" >
   <mat-label>StudentList</mat-label>
      <mat-select multiple (selectionChange)="checkAllSelected(formData.student)"
            class=componentWidth
            [(ngModel)]="formData.student"
            [ngModelOptions]="{standalone: true}" >
        <mat-option *ngFor="let student of studentList" [selected]="student.name[value]="student">
               {{student.name}}
        </mat-option>
      </mat-select>
 </mat-form-field>

Ts 重置

resetAll() {
        this.formData.period = "";
        this.formData.meetingCode = "";
        this.formData.meetingName = "";
        this.formData.chosenDate = "";
        this.formData.academic = "";
        this.formData.student = "";
        this.formData.time_from = "";
        this.formData.time_to = "";
        this.meetingType = '';
        this.studentList = "";
        
    }

当我点击重置它显示错误

错误:尝试区分“”时出错。只允许使用数组和可迭代对象你能帮我找出解决方案吗

标签: angulartypescript

解决方案


该属性studentList是一个字符串。

你不能用它来迭代一个字符串,*ngFor这就是错误消息试图告诉你的。有关更多信息,请查看Angular 指令文档

this.studentList = [];通过在您的重置方法中设置一个空数组。


推荐阅读