如何在检索选项时设置mat-select的默认值?

问题描述 投票:0回答:1
 <mat-form-field [ngClass]="classes">
  <mat-select [placeholder]="placeholder" [(ngModel)]="selectValue" [multiple]="true" #multiSelect (change)="onChange()"
    #itemSelect="ngModel">
    <ngx-mat-select-search [formControl]="multiFilterCtrl"></ngx-mat-select-search>
    <mat-option *ngFor="let option of filteredMulti | async" [value]="option.id">
      {{option.name}}
    </mat-option>
  </mat-select>
</mat-form-field>

Angular材料多选如何设置来自api的多选下拉列表的值?

angular5 angular-material-5
1个回答
1
投票

如果您尝试设置所选值,则可以

// ...data coming from the api and saved to this.filteredMulti

this.filteredMulti.take(1).subscribe(() => 
    // set your model
    selectValue = apiData.selectValue

    // setting the compareWith property to a comparison function
    // triggers initializing the selection according to the initial value
    // this needs to be done after the filteredMulti are loaded initially
    // and after the mat-option elements are available
    this.multiSelect.compareWith = (a: number, b: number) => a === b;
});

有关完整示例,请参阅https://github.com/bithost-gmbh/ngx-mat-select-search/blob/master/src/app/examples/02-multiple-selection-example/multiple-selection-example.component.ts

© www.soinside.com 2019 - 2024. All rights reserved.