如何向 DOM 元素添加属性?

How to add attribute to DOM element?

我需要将属性 multiple 添加到元素:

 <mat-select [formControlName]="field.name" multiple>

但按条件添加:

我试过:

  <mat-select
    [formControlName]="field.name" multiple
    [attr.multiple]="field?.multiple ? 'multiple' : ''"
  >

它给了我 multiple="multiple"

但我需要:

 <mat-select [formControlName]="field.name" multiple>

这样试试:

Working Demo

<mat-select [formControlName]="field.name" [multiple]="field?.multiple">

mat-select 有一个 multiple 布尔值 @Input,所以你应该这样使用它:

<mat-select
  [formControlName]="field.name" multiple
  [multiple]="!!field?.multiple"
>