我希望能够有选择地向输入添加自动完成功能。
目前,我已经尝试*ngIf
在垫子自动完成标记中添加,但由于输入具有该matAutocomplete
属性并且正在寻找自动完成组件,因此会引发错误。我matAutocomplete
还想将自动完成功能设置为null,但这没有用。
这是我的累:
但是我得到:
Error: Attempting to open an undefined instance of `mat-autocomplete`.
这就是我想要的工作方式:
但不必重复输入和表单字段标签。
如果您始终拥有自动完成组件,但有时却没有相应的项目,则建议的“ hack”效果很好。但是听起来您想基于MatFormField和MatInput创建一个自定义组件,可以选择使用MatAutocomplete。我已经做到了,除非您使用Angular Material v6的未来版本,否则在表单字段上无法解决ngIf。参见https://github.com/angular/material2/issues/11096(我的问题)。他们将通过新的指令选项在Angular Material v6中修复此问题,以禁用自动完成功能- matAutocompleteDisabled
。发布后,您可以执行以下操作:
<input matInput [matAutocomplete]="auto" [matAutocompletDisabled]="slide.checked">
因此,如果auto
为null,则不会出现任何错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句