0

我正试图围绕 ngModel ngModelChange。多选返回一个我想要连接成单个字符串的选择数组。我似乎无法从多选中获取值。mobileChange() 函数返回内部未定义的数组,该数组等于选择的数量。即 ['undefined', 'undefined'] 如果选择了两个选项。

我如何获得价值?

模板 HTML

<mat-form-field>
  <mat-label>Mobile Access Type</mat-label>
  <mat-select id="mobileAccessType" [(ngModel)]="tempMobile" (ngModelChange)="mobileChange()" required multiple>
    <mat-option ngDefaultControl *ngFor="let option of mobileAccessTypes"  >{{option.value}}</mat-option>
  </mat-select>
</mat-form-field>

组件 TS

  public tempMobile = ['stuff'];

  public mobileChange(): void {
      console.log('CHANGES', this.tempMobile);
  }
4

1 回答 1

0

在您的 mobileChange 函数中,您应该将 $event 作为参数发送:

(ngModelChange)="mobileChange($event)"

然后在你的 TS 中你得到值

public mobileChange(e): void {
    this.tempMobile.push(e.toString());
}

https://stackblitz.com/edit/angular-ngmodelchange-pau?file=app/app.component.ts

于 2020-12-16T16:05:50.233 回答