具有反应形式的多项选择的数字的角补丁值

时间:2020-02-06 05:43:26

标签: angular angular-reactive-forms

嗨,我想知道为什么使用数字时补丁值不起作用。我有一个选择,其中填充了一个数字作为值,我从后端使用了一个数字数组来设置值。但这不起作用。但是,当数组值转换为字符串时,它就可以工作。

<mat-select formControlName="location" placeholder="Event Type" >
   <mat-option  *ngFor='let loc of locations'  value="{{loc.id}}">{{loc.name}}</mat-option>
</mat-select>

这用于设置值

  setParticipants(value) {
    this.AddEventForm.patchValue({
      participants: value
    });
  }

传递给设置参与者的值是 [84,118]是这样的

编辑-创建了一个堆叠https://stackblitz.com/edit/angular-dvb4y5

1 个答案:

答案 0 :(得分:0)

绑定属性value的方式有所不同。

如果您按如下所示进行绑定,它将把数据类型转换为string

 <option *ngFor='let val of list' value='{{val.id}}'>{{val.name}}</option>

如果您按如下所示进行绑定,它将绑定实际的数据类型。

 <option *ngFor='let val of list' [value]='val.id'>{{val.name}}</option>