通过单击按钮来关闭Angular Material mat-select多项选择吗?

时间:2019-02-15 21:23:15

标签: angular angular-material

我希望有一个多选下拉菜单,用户可以在其中单击“应用”按钮(位于下拉菜单中)以关闭菜单。使用Angular Material和mat-select,有没有办法做到这一点?

我已经尝试过向按钮添加一个close方法,但是出现了很多控制台错误,包括“ control.registerOnDisabledChange不是函数”,以及单击后,“ control.markAsTouched不是函数” < / p>

 <mat-form-field>
    <mat-select #toppings placeholder="Toppings" [formControl]="toppings" multiple>
      <mat-option *ngFor="let topping of toppingsList" [value]="topping">{{topping}}</mat-option>
      <button (click)="toppings.close()">Apply</button>
    </mat-select>
  </mat-form-field>

该列表确实关闭,但是导致控制台错误。

1 个答案:

答案 0 :(得分:0)

正如赞扬所提到的,存在命名冲突。这可行。

<mat-select #sl placeholder="Toppings" [formControl]="toppings" multiple>
        <mat-option *ngFor="let topping of toppingsList" [value]="topping">{{topping}}</mat-option>
        <button (click)="sl.close()">Apply</button>
    </mat-select>

Stackblitz https://stackblitz.com/edit/angular7-material-primeng-template-1-hwuq4p?file=src%2Fapp%2Fapp.component.ts