滚动不适用于制表符中的长内容

Scrolling Not Working with Long Content in Tabulator

我注意到当我的单元格包含大量文本时,table 不会垂直滚动。当我向下滚动时,table 跳回到顶部。该行为是内容量和列宽的函数。在出现此行为之前,更宽的列可以处理更多内容。

我认为这是由于我自己的自定义格式化程序造成的,但文本区域和 html 格式化程序也会发生这种情况。

如果行内容明显长于 table 的高度,就会发生这种情况。

在这种情况下,您可以通过增加 table 上的虚拟 dom 渲染缓冲区的大小来提高滚动稳定性。这是 table 在 table 上方和下方呈现的 space 的数量,以允许平滑滚动。

默认设置为 table 高度的 2 倍。您应该确保它至少是最高行的高度的 5 倍。

这可以使用 table 构造函数中的 virtualDomBuffer 选项来完成:

var table = new Tabulator("#example-table", {
    virtualDomBuffer:300, //set virtual DOM buffer to 300px
});

有关这方面的更多信息,请参阅 Virtual DOM Documentation

尽管从用户体验的角度来看,如果 table 占据较大的垂直 space,我会质疑它是否是布局数据的最佳方式。在行中显示摘要信息可能会更清楚,然后使用 rowFormatter 切换行下方的详细信息部分,或使用模式显示更多详细信息