angular - 当垫子步进器更改编程时垫子自动完成不会关闭
问题描述
我有一个垫子自动完成功能,它会触发一个功能optionSelected()
<mat-form-field fxLayout="column">
<input matInput
[matAutocomplete]="auto"
#trigger="matAutocompleteTrigger"
formControlName="shop">
<mat-autocomplete #auto="matAutocomplete"
[displayWith]="displayFn"
(optionSelected)="selectedShop($event, stepper)">
<mat-option>...</mat-option>
</mat-autocomplete>
</mat-form-field>
上面的表单在mat-stepper
组件内部。在optionSelected
我有以下功能
selectedShop(event, stepper) {
const shopData = event.option.value as Shop;
if(shopData) {
this.registerForm.patchValue({ secondaryMobile: shopData.secondaryMobile });
stepper.next();
}
}
当有人选择自动完成时,它将设置反应表单的值并移至下一步。它工作正常,但自动完成下拉面板仍然保持在顶部。
我累了
@ViewChild(MatAutocompleteTrigger) autocompleteTrigger: MatAutocompleteTrigger;
if(shopData) {
this.registerForm.patchValue({ secondaryMobile: shopData.secondaryMobile });
stepper.next();
this.autocompleteTrigger.closePanel();
}
也在里面试过,ngAfterViewInit()
但失败了。面板永远不会关闭。我正在使用角度版本 10。
请帮忙。
解决方案
推荐阅读
- reactjs - react-chartjs-2 中带有子标签的标签
- node.js - 构建 docker 映像时出现@elastic/elasticsearch 错误
- wpf - 是否有用于静音 CEFSharp 浏览器的 xaml 代码?
- php - 生成 vcard 和 qrcode - 图像未通过
- python - 删除链表Python中的节点
- c - 我如何将 ' 视为普通字母
- pine-script - 如何与特定蜡烛高度交叉移动平均线?脚本
- .net - 为什么我无法从在 AWS ECS 上运行的 .NET Core 应用程序记录任何内容?
- r - 使用 GEOJSON_WRITE 在 R 中创建 GEOJSON 文件
- javascript - CSS 不会影响使用 JavaScript 生成的任何 HTML。我究竟做错了什么?