问题标签 [virtualscroll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
885 浏览

ionic-framework - Ionic 3 Virtual Scroll:更改项目大小

我正在实施一个VirtualScroll清单。我目前的实现是:

有了这个,虚拟滚动组件似乎工作得很好。我可以通过 100K 条目的数组,几乎没有性能问题。我希望虚拟滚动列表中的每个项目都是可点击的,当它们被点击时,我希望该项目调整大小(最终在列表中的每个项目上附加一个抽屉式功能)。

目前,当我单击其中一个列表项时,该组件将调整大小,但列表中的其他任何内容都不会移动,因此该项目只会与其下方的列表条目重叠。

我可以通过在点击处理程序中添加以下内容来解决这个问题:

这会触发虚拟滚动来调整大小,但看起来它也会重新计算“活动”列表项,因此我单击的项目的位置会移动(有时甚至会跳出可视屏幕)。

有没有人有任何建议或经验有一个可以调整大小的虚拟项目列表?

谢谢你。

0 投票
1 回答
8005 浏览

virtualscroll - ionic 4虚拟滚动不起作用

我用 Ionic 4 创建了新项目。我在打字稿文件中有一个项目(空格)数组,我想通过 Ionic 虚拟滚动在模板文件中显示它们:

但是我收到了 Ionic 虚拟滚动的错误:

我的代码有什么问题。请帮助我,谢谢。

0 投票
0 回答
96 浏览

javascript - 需要增加 div 元素的允许最大高度

这是否可以增加要设置为 div 元素的以下最大允许高度。

铬(14.0):33,554,428 像素

IE (9.0) : 10,737,418 像素

FF (7.0.1) : 17,895,697 像素

除此之外,不会增加 div 元素的大小、客户端高度。它在网格中的虚拟滚动中产生了问题。超出限制,网格将不会滚动。

有人有解决方案吗?

0 投票
0 回答
1634 浏览

angular - 带有材料表的角度 6 中的虚拟滚动

我想使用带有角度材料表的虚拟滚动。而且我不想使用分页功能。我的代码如下所示。

0 投票
0 回答
1009 浏览

angular - 图像加载后的角度 cdk-virtual-scroll-viewport ,由于元素高度不正确,滚动方向显示不正确的空白区域

当按照下面的代码使用角度 cdk-virtual-scroll 时,内容在图像加载之前正确显示。但是,加载图像后,滚动似乎无法正常工作。

在这种情况下,滚动方向是垂直的。当滚动发生时,额外的空白被添加到父视口的底部。

我推测滚动元素在图像加载之前确定了子大小,因此每个子的高度与图像加载后的实际子高度不匹配。

问题是我有什么选择来解决这个问题,拜托。

0 投票
1 回答
1346 浏览

javascript - 如何在虚拟列表中保留 Svelte 组件的状态?

我正在 Svelte 中开发一个甘特图组件,它由 100 个行组件组成,每个组件都包含多个任务组件。可以拖动和移动任务。性能是重中之重,我使用虚拟列表仅呈现可见行。

问题是当我移动任务并将行滚动出视图时,它们会被破坏,当我滚动回它们时,它们的状态会被重置。这个使用 svelte-virtual-list 的 REPL 说明了问题https://svelte.technology/repl?version=2.13.5&gist=bdb4c523d2e1cf7e3aef452e3f24d988 我想知道处理这种情况的最佳方法是什么。

目前我正在使用任务对象作为道具并对其进行更新,引用保持不变并且滚动不会影响它。

但是在任务中我像这样更新状态

并且模板使用 task.propname 引用每个道具,我不确定这是否是这样做的苗条方式,因为不清楚究竟设置了什么。

我可以像这样绑定任务变量

但是需要绑定很多变量(超过 10 个),我希望未来可能的插件可以从 Task 组件内部更新新的道具。

这处理潜在的更多道具,但我在状态事件中更新任务对象,如下所示:

我应该更喜欢哪一个来提高性能,或者有更好的方法来处理这个问题?

0 投票
3 回答
23753 浏览

angular - Angular 7 上的虚拟滚动不可见 - 默认情况下高度为零

设想:

  • 尝试阅读此博客文章的基本虚拟滚动测试
  • 数组有很多项目
  • 没有错误
  • 列表加载在虚拟滚动中,但默认高度为 0

快速修复

  • 将 cdk-virtual-scroll-viewport 的高度设置为 500px 或在 app.component.css 中设置类“example-viewport”的高度

问题:克服这个零高度的正确方法是什么?

https://stackblitz.com/edit/angular-efdcyc上的示例

0 投票
2 回答
450 浏览

angular - 虚拟列表中的反应式表单行为不稳定

我正在检查带有反应形式的虚拟滚动列表。场景是我有数千行显示在一个带有复选框的列表中以批准或反对。

所以在虚拟列表中我正在生成表单组[formGroupName]="i"

但是,如果我选中一个复选框,则在滚动它时也会随机选择并选中其他复选框。

这真的很奇怪。

闪电战可以在这里看到 任何建议或提示都会有所帮助。谢谢

要重现此问题,您可以一直向下滚动到最后一项并将其标记为取消选中,然后滚动回顶部并再次向下滚动。您将看到不稳定的行为,它将再次标记为已检查。点击中间或顶部的任何一个,其他的也会被随机检查。

0 投票
1 回答
5794 浏览

angular - 如何为表 tbody 使用 cdk-virtual-scroll-viewport

由于 html 解析 tr 然后 td,使用<cdk-virtual-scroll-viewport>中断视图是否有任何 cdkVirtualScrollViewport 作为指令<tbody>

0 投票
3 回答
2173 浏览

angular - 如何在 Angular 7 中为 CdkVirtualScrollViewport 设置初始索引(位置)

我需要的初始位置cdk-virtual-scroll-viewport不是列表的第一个元素/项目。

现在我找到了scrollToIndexandscrollTo方法,但我只有在 中使用它时才能让它们工作ngAfterViewChecked,感觉不对劲。

  1. 有人可以确认使用这些方法ngAfterViewChecked是正确的做事方式吗?
  2. 如果没有,请展示另一种方法/技术?