Значение должно быть массивом в режиме множественного выбора в угловом материале mat-select - PullRequest
0 голосов
/ 08 октября 2019

Я использую компонент выбора материала для углового материала.

        <mat-table [dataSource]="dataSource" class="mat-elevation-z8" matSort >

              <ng-container matColumnDef="sensitive">
                <mat-header-cell class="table-header header-p" *matHeaderCellDef> <b>sensitive</b> </mat-header-cell>
                <mat-cell class="table-content context-position "  *matCellDef="let element"  >
                  <mat-select placeholder="sensitive"  multiple [(ngModel)]="element.sensitive" >
                    <mat-option *ngFor="let type of sensitiveList" [value]="type">{{type}}</mat-option>
                  </mat-select>
                </mat-cell>
              </ng-container>

              <mat-header-row class="table-header-row" *matHeaderRowDef="displayedColumns"></mat-header-row>
              <mat-row  [ngClass]="((i%2) == 1) ? 'table-content-row-single' : 'table-content-row-double'"  *matRowDef="let row; columns: displayedColumns;"></mat-row>
        </mat-table>

typcript горький список: строка [] = ['нет', 'чувствительный'];for (var i = 0; i

, почему при запуске кода выдается ошибка

Value must be an array in multiple-selection mode

1 Ответ

0 голосов
/ 08 октября 2019

У вас есть множественный выбор, который обслуживает массив данных, и ваш атрибут элементов «чувствительный» не является массивом! Измените свой атрибут «Sensitive» на строковый массив или удалите «Multiple» из вашего mat-select, чтобы получить одно значение, и ваша проблема должна быть решена

...