我希望能够选择性地为输入添加自动完成功能 .
目前我已经尝试将 *ngIf
添加到mat自动完成标记,但它会引发错误,因为输入具有 matAutocomplete
属性并且正在寻找自动完成组件 . 我还尝试将 matAutocomplete
设置为null,当我想要自动完成关闭但这不起作用 .
这就是我累了:
但我得到:
Error: Attempting to open an undefined instance of `mat-autocomplete`.
这就是我希望它的工作方式:
但无需复制输入和表单字段标记 .
2 回答
如果您总是拥有自动完成组件,建议的"hack"会很有效,但有时候这样做并且除非您使用Angular Material v6的未来版本,否则无法在表单字段上使用ngIf . 见https://github.com/angular/material2/issues/11096(我的问题) . 他们将通过新的指令选项在Angular Material v6中修复此问题以禁用自动完成 -
matAutocompleteDisabled
. 发布后,您可以这样做:因此,如果
auto
为null,则不会出现任何错误 .稍微破解一下,当检查幻灯片时,您可以简单地用空数组替换建议:
Here is an edit of your stackblitz.