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

Posted

技术标签:

【中文标题】当值是数字时不显示 mat-select 值【英文标题】:mat-select value is not shown when values are numbers 【发布时间】:2021-12-24 16:10:43 【问题描述】:

我正在像这样使用 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>

我希望根据佣金值选择并显示所选值 以commision: [this.data.element.commision, Validators.required], 的形式创建

但是无论我做什么都不会显示该值,所以 select 不会将数字作为值吗?或者我该怎么做才能让它工作。

【问题讨论】:

【参考方案1】: 不要在选择中添加 [value]="commision" 这应该由您指定的表单控件绑定 mat-select 需要在开始和结束标记中 如果您想显示初始选定值,请将 [value] 添加到您的 mat-options 即。 [值]=0.15 示例

【讨论】:

【参考方案2】:

这是因为您将值错误地传递给 mat-option。你应该使用[value]=0.15 ,而不是value=0.15

在 mat-select 中也使用 ngModel 而不是 [value] &lt;mat-select [(ngModel)]="commission"&gt; 编辑:注意到您使用的是 formControlName,因此无需使用 ngModel,您可以摆脱 [value]

【讨论】:

非常感谢

以上是关于当值是数字时不显示 mat-select 值的主要内容,如果未能解决你的问题,请参考以下文章

ngModel 不显示 mat-select 中对象的值

按大于 0 的字段排序

Mat-Select 不显示选项

通过单击 mat-select 中的复选框,不显示内容

在 y 轴上显示太多数字

<mat-select> 选择值设置,但未显示