Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了仅在Angular 2中键入至少1个字母后才显示自动完成下拉列表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用Angular 2和 angular material design实现自动完成,除非他们输入至少1个字母,否则不应出现选项.

认情况下,即使输入为空,自动完成也可在焦点上切换,因此我想更改此行为.

我试图在mat-autocomplete元素* ngIf =“inputField.value”上添加一个条件,以便仅在输入有值时显示选项,但它返回错误

错误:尝试打开未完成的mat-autocomplete实例.确保传递给matAutocomplete的id是正确的,并且您尝试在ngAfterContentInit挂钩后打开它.

另外,我试图在输入字段的[matAutocomplete] =“auto”中添加一个条件,但它也会返回错误.

我注意到,当显示自动完成选项时,元素cdk-overlay-container和mat-autocomplete-panel在关闭< / body>之前创建,并且它们与原始组件断开连接,因此很难通过css隐藏.

你有想法怎么做吗?

请按照Stackblitz的规定进行操作.

谢谢!

解决方法

如果键入的文本长度等于0,请不要调用过滤器函数.

this.filteredOptions = this.myControl.valueChanges
  pipe(
     startWith(''),map(val => val.length >= 1 ? this.filter(val): [])
);

Demo

大佬总结

以上是大佬教程为你收集整理的仅在Angular 2中键入至少1个字母后才显示自动完成下拉列表全部内容,希望文章能够帮你解决仅在Angular 2中键入至少1个字母后才显示自动完成下拉列表所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: