Angular 单击按钮关闭“角度材质”材质垫“选择multiselect”?

Angular 单击按钮关闭“角度材质”材质垫“选择multiselect”?,angular,angular-material,Angular,Angular Material,我想有一个多选下拉菜单,用户点击一个“应用”按钮(这是生活在下拉菜单)关闭菜单。使用“角度材质”和“材质选择”,有没有办法做到这一点 我已经尝试过向按钮添加close方法,但是我得到了很多控制台错误,包括“control.registerOnDisabledChange不是函数”和单击后的“control.MarkaTouched不是函数” {{topping}} 申请 列表确实关闭了,但会导致控制台错误。正如推荐中提到的,存在命名冲突。这很有效 <mat-select #sl pla

我想有一个多选下拉菜单,用户点击一个“应用”按钮(这是生活在下拉菜单)关闭菜单。使用“角度材质”和“材质选择”,有没有办法做到这一点

我已经尝试过向按钮添加close方法,但是我得到了很多控制台错误,包括“control.registerOnDisabledChange不是函数”和单击后的“control.MarkaTouched不是函数”


{{topping}}
申请

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

正如推荐中提到的,存在命名冲突。这很有效

<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>

{{topping}}
申请
闪电战

除了危险的命名(input和formControl都有“toppings”的名称)之外,您还需要正确设置反应式表单。问题不在于按钮,而在于
[formControl]=“toppings”
。您可能希望使用FormGroup并访问模板中的
formControlName
<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>