1

我正在尝试创建一个基于角度材料选择组件(v10)的自定义多选组件,该组件具有虚拟滚动和组件覆盖内的自定义搜索输入。我还添加了一个mat-select-trigger元素来显示所选项目的数量,而不是默认的所选项目列表。

这个stackblitz中提供了(几乎完全工作且没有样式)示例。

我遇到的问题与所选项目的显示值有关。

要复制该问题,您必须:

  1. 在项目列表中搜索(例如:)55并选择一个选项(例如item-55
  2. 单击覆盖层外部以将其关闭
  3. 正如预期的那样,组件将显示1 selected,并且该项目将列在下面的Selected items列表中
  4. 重新打开列表,单击搜索字段clear按钮,然后单击覆盖层外部,再次将其关闭

该组件现在将显示Items占位符,当它应该显示时1 selected,因为该项目仍在Selected items列表中(并且它是在mat-select-trigger元素中使用的这个列表)。

尽管如此,如果您重新打开列表并滚动到所选项目 ( item-55),它将被选中。如果您随后在覆盖层外部单击以再次将其关闭,则会显示正确的值 ( 1 selected)。

我知道这是与虚拟滚动相关的问题,但我一直无法找到解决方案或解决方法。

任何建议将不胜感激!

4

0 回答 0