角度取消选择多个选择中的所有选项

时间:2018-09-06 17:49:57

标签: html angular typescript

目标是,当我调用 myMethod()时,我希望所有选项都未选中。

当前,当我调用 myMethod()时,它将仅取消选择最后一个选项,但如果选择了其他选项,则其他选项保持选中状态。

解决方案:

  • 不使用反应形式-就像接受的答案一样
  • 使用反应形式-translateX()

HTML

this.formName.get('formControlName').setValue([]);

组件

<select multiple>
    <option *ngFor="let user of users" 
            value="{{user.id}}" 
            [selected]="usersSelected">{{user.name}}
    </option>
</select>

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您应该使用[(ngModel)],以便可以控制该值。请注意,它的multiple选择,因此您应该使用数组,而不仅仅是标量值。

usersSelected = [];

myMethod(): void {
  this.usersSelected = [];
}

在您的模板中:

<select multiple [(ngModel)]="usersSelected">
  <option *ngFor="let user of users" [ngValue]="user.id">{{user.name}}</option>
</select>

工作示例:https://stackblitz.com/edit/angular-c9y1jm