【发布时间】:2020-11-07 11:25:41
【问题描述】:
在 Angular v7 项目中使用 PrimgNG v7.1.3。
在一个简单的组件中实现了多选 (https://www.primefaces.org/primeng-7.1.3/#/multiselect)。
页面加载时需要设置焦点。
以下解决方案适用于 Dropdown,但不适用于 Multiselect:
在 HTML 中:
<p-dropdown #someDropdown></p-dropdown>
在组件中:
import { Dropdown } from 'primeng/dropdown';
@ViewChild('someDropdown') someDropdown: Dropdown;
this.someDropdown.applyFocus();
但是对于Multiselect,它会抛出这种方法无效的错误。
尝试了这个 SO 链接中提到的“ngIf 内控制”的第一个答案,仍然没有运气:primeng: Setting focus on control
也检查了 PrimeNG 文档和用户指南,但没有提及对焦功能。
后来也在下面尝试。一个都没用。
this.someMultiSelect.focus();
this.someMultiSelect.applyFocus();
this.someMultiSelect.el.focus();
this.someMultiSelect.el.applyFocus();
this.someMultiSelect.el.nativeElement.focus();
this.someMultiSelect.el.nativeElement.applyFocus();
this.someMultiSelect.containerViewChild.focus();
this.someMultiSelect.containerViewChild.applyFocus();
this.someMultiSelect.containerViewChild.nativeElement.focus();
this.someMultiSelect.containerViewChild.nativeElement.applyFocus();
Stackblitz:https://stackblitz.com/edit/primeng-multiselect-autofocus
请提出建议。
感谢任何帮助。
【问题讨论】:
标签: angular primeng autofocus primeng-dropdowns