首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用父滚动条代替带角虚拟滚动条的子组件滚动条

用父滚动条代替带角虚拟滚动条的子组件滚动条
EN

Stack Overflow用户
提问于 2020-01-04 15:41:36
回答 1查看 1.4K关注 0票数 1

上下文

我使用角虚拟卷轴来显示一长串元素。我的设计非常简单,可以在下面的图片中看到。

当前行为

目前,虚拟滚动条有自己的滚动条,其操作方式与父滚动条不同。这使得滚动到页脚非常繁琐。也就是说,当你滚动到列表的末尾时,它不会滚动到页脚。

期望行为

我希望虚拟滚动容器使用父滚动条而不是它自己的滚动条,这样当到达列表的末尾时,就会恢复常规滚动。

这里可以找到一个Stackblitz,它说明了不想要的行为:https://stackblitz.com/angular/aemdyrjmebn

EN

回答 1

Stack Overflow用户

发布于 2020-01-04 18:53:59

这是浏览器固有的默认滚动行为(我在Chrome上试用过)。例如,overflow: scroll示例在MDN上也会发生同样的情况:在容器完全向下滚动之后,直到移动鼠标时,父/窗口的滚动才会开始。这也是角虚拟滚动的结果

如果有另一种方法来实现您想要实现的目标,那么当虚拟容器被滚动到底部时,您就需要这样做--您可以使用以下代码获得这个事件:

代码语言:javascript
复制
@ViewChild(CdkVirtualScrollViewport, {static: false}) virtualScroll: CdkVirtualScrollViewport;

ngAfterViewInit() {
  this.virtualScroll.elementScrolled().pipe(
    filter(event => {
      return this.virtualScroll.measureScrollOffset('bottom') === 0;
    }),
    tap((event)=> {
      // do something here
    })
  ).subscribe()
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59592231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档