角垫自动完成:以编程方式设置活动项目

时间:2019-10-01 08:00:56

标签: angular angular-material angular-material2 angular-material-8

您要做什么?

以编程方式在我的面板中设置一个项目。

您看到的内容与您的期望不符?

使用自动完成功能的键管理器功能setActiveItem实际上根本不会更新面板的外观。手动触发视觉更新时,单击鼠标即可工作,但使用键盘导航时不起作用。

复制

StackBlitz demo

复制步骤:

  1. 单击输入。
  2. 单击Show More
  3. SetActiveItem选择指定索引处的项目,但此后更改选择被破坏。
  4. 使用键盘导航到Show More
  5. Enter
  6. SetActiveItem根本不起作用。

环境

  • 角度:8.2.8
  • CDK /材料:8.2.2
  • 浏览器:全部
  • 操作系统(例如Windows,macOS,Ubuntu):全部

寻找有关如何使它工作的提示。我的方法是错误的还是setActiveItem无法正常工作?在功能注释中,它描述为:

  

将活动项目设置为指定的项目,并向其中添加活动样式。还会从以前的活动项目中删除活动样式。

这听起来像我需要的确切功能,但我无法使其正常工作。

1 个答案:

答案 0 :(得分:0)

我有类似的问题。以我为例,我使用了Ag-Grid,并停止了带有箭头的导航事件的传播。您确定您的Mat-Autocomplete会收到该事件吗?