【问题标题】:mat-select value is not shown when values are numbers当值是数字时不显示 mat-select 值
【发布时间】: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 不会将数字作为值吗?或者我该怎么做才能让它工作。

【问题讨论】:

    标签: angular typescript angular-material


    【解决方案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]

      【讨论】:

      • 非常感谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 2021-07-29
      • 2021-03-24
      • 2021-06-17
      • 1970-01-01
      • 2021-12-14
      • 2019-07-03
      相关资源
      最近更新 更多