【问题标题】:Angular Material Autocomplete: Autocomplete Panel doesn't collapse on Page Scroll when there are more than one Autocomplete controlAngular Material Autocomplete:当有多个自动完成控件时,自动完成面板不会在页面滚动上折叠
【发布时间】:2020-08-11 01:08:39
【问题描述】:

stackblitz 所示,当stackblitz 示例中显示有多个自动完成控件时,我在关闭自动完成控件时遇到了问题,除了页面滚动上的第一个自动完成控件(城市)。

复制步骤

  1. 首先点击 - City 自动完成控件并让它保持扩展。

  2. 尝试进行页面级滚动,然后 City 自动完成控件折叠。

  3. 现在点击第二个 - State/Country 自动完成控件并让它保持扩展。

  4. 尝试进行页面级滚动并查看 State/Country 自动完成控件没有折叠。

预期行为:州/国家/地区自动完成控件应该像页面滚动上的城市自动完成控件一样折叠。

实际行为:州/国家/地区自动完成控件不会在页面滚动时折叠。

【问题讨论】:

    标签: angular autocomplete angular-material angular7 mat-autocomplete


    【解决方案1】:

    您应该使用@ViewChildren 装饰器来保存每个MatAutocompleteTriggers:

    @ViewChildren(MatAutocompleteTrigger) autoCompleteTriggers: QueryList< MatAutocompleteTrigger>;
    
    closePanels() {
      this.autoCompleteTriggers.forEach(trigger => {
        if (trigger.panelOpen) {
          trigger.closePanel();
        }
      });
    }
    

    Forked Stackblitz

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 2015-08-20
      • 2010-10-29
      • 2014-04-29
      • 2018-12-19
      相关资源
      最近更新 更多