在双向绑定上将整数转换为字符串

时间:2017-12-18 00:33:41

标签: angular angular-material2 angular-template

在我正在处理的项目中,有一个下拉字段组件,该组件用于整个应用程序的所有下拉字段。

该组件有一个@input options,可以获取此格式下拉菜单的选项[{value: '', label: ''},.. ]

这适用于我的大部分下拉菜单,但是对于一个,这个值是整数。作为' 2' !== 2,下拉列表无法显示该值。

<mat-select class="form-control" [(value)]="value">
   <mat-option *ngFor="let option of options" [value]="option.value">{{option.label}}</mat-option>
</mat-select>

github报告了类似的问题。

作为这个评论,我可以通过单独输入和输出来解决这个问题。

<mat-select class="form-control" [value]="value.toString()" (change)="value = $event.value">
    <mat-option *ngFor="let option of options" [value]="option.value">{{option.label}}</mat-option>
</mat-select>

但我想知道,任何人都有一个很好的解决方案来解决这个问题。

非常感谢,

注意:(请不要建议将值更改为整数类型,因为这会影响其他具有uuid等值的下拉列表)

1 个答案:

答案 0 :(得分:0)

[value]="option.value"

将其转换为

[value]="{{option.value}}"