ng-select下拉位置在可滚动div中不正确

时间:2020-07-09 17:04:15

标签: css angular drop-down-menu angular-material angular-ngselect

在可滚动div中使用ng-select时,我遇到了问题。 请找到屏幕截图- enter image description here

问题:搜索文本框和下拉列表之间将出现间隙,市中心应随搜索输入框一起移动。 重现问题- https://stackblitz.com/edit/ng-select-uygqu1?file=app%2Fapp.component.ts

单击第一个下拉列表(ng-select)。它将打开可用的选项。 现在,使用两根手指在笔记本电脑的鼠标键盘上滚动/从鼠标滚动。

非常感谢您的帮助。

预先感谢。

4 个答案:

答案 0 :(得分:0)

确保下拉菜单的位置是相对的,并且没有应用多余的间距

答案 1 :(得分:0)

您将下拉列表附加到主体,而不是ng-select,因此根据定义,它将根据主体计算ng-select的位置,即它的最后接收位置。

不会更新(滚动时打开的位置)(不支持),滚动时需要关闭下拉菜单(不支持ng-select-issue is currently opened-链接中的支持人员也提供了建议),然后根据需要打开下拉菜单。

即使您不关闭下拉菜单并以某种方式奇迹般地更新滚动时的位置,即使ng-select隐藏在溢出中也将显示下拉菜单,这看起来并不好。

我建议在滚动时关闭下拉菜单。您不能同时定位绝对值并将其显示在表的外部,然后在ng-select隐藏时将其隐藏。 jQuery也许可以,但是对此了解不多。

答案 2 :(得分:0)

::ng-deep .ng-dropdown-panel {
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto;
}

//this worked for me perfectly fine
 

答案 3 :(得分:0)

我用下一个方法解决了这个问题:

  • 删除appendTo="body"
  • overflow: visible 添加到 ng-select
<ng-select
  style="overflow: visible;"
  ...
</ng-select>