mat-select 值是数字时不显示值

mat-select value is not shown when values are numbers

我正在使用这样的 mat-select

 <select formControlName="commision" [value]="commision" style="width: 37%"  disableRipple>
  <mat-option value="null" disabled selected>Select Commission</mat-option>
  <mat-option value=0.15>15%</mat-option>
  <mat-option value=0.2>20%</mat-option>
  <mat-option value=0.3>30%</mat-option>
</mat-select>

我希望 selected 值根据佣金值 selected 并显示 以 commision: [this.data.element.commision, Validators.required],

形式创建

但是我做什么都不显示值,所以select不以数字为值?或者我该怎么做才能让它发挥作用。

这是因为您将值错误地传递给了 mat-option。你应该 [value]=0.15 .

而不是 value=0.15

还在 mat-select 中使用 ngModel 而不是 [value] <mat-select [(ngModel)]="commission">
编辑:注意到你正在使用 formControlName 而不是所以不需要使用 ngModel,你可以摆脱 [value]

  • 不要将 [value]="commision" 添加到 select 这应该受您指定的表单控件的约束
  • mat-select 需要在开始和结束标签中
  • 如果您想显示初始 selected 值,请将 [value] 添加到您的 mat-options 即。 [值]=0.15
  • 例子