如何解决DataTableForge查看器中闪烁的表格和向上跳动的滚动条



我有一个DataTable,它有100行,我用列表来设置它。我从下拉列表中动态更改所选名称的列表。

我用

$("#datatable").remove();
this.datatable =  new Autodesk.Viewing.UI.DataTable(this.panel);
this.datatable.setData(datalist,titleList);

更改后,如果我尝试向下滚动条,它不允许,并自动将滚动条带到顶部,表格会闪烁。如果行数较少,则根本没有问题。

在Chrome控制台上,我看到了以下消息:

为滚动阻止的"触摸启动"事件添加了非被动事件侦听器。请考虑将事件处理程序标记为"被动",以提高页面的响应能力。DockingPanel.js:553〔违规〕

启动

当我尝试滚动时:

[违规]执行JavaScript时强制回流耗时75ms

有趣的是,如果我在浏览器上放大/缩小或全屏显示,问题就会消失,我可以毫无问题地向下滚动到DataTable的底部行。我没有看到那些[违规]信息但是表的点击功能不起作用

我已经删除了容器(DockingPanel(和数据表本身的所有css,但问题没有改变。我没有任何事件监听器用于滚动。我知道这个问题涉及面很广,但我找不到任何解决办法。

有人知道吗?这会是DOM问题吗?

您尝试过Firefox或移动浏览器吗?您的问题与事件侦听器有关。尝试添加

document.addEventListener('touchstart', handler, {passive: true});

以防止PreventDefault。

它之所以闪烁而不在表上显示,是因为第一行是用空字符串""创建的列表。当我用任何字符填充第一个列表时,问题就解决了。

最新更新