Bootstrap-vue 模态在 vue-tabulator @row-click 事件中显示时关闭时重置 window.scrolY

Bootstrap-vue modal resets window.scrolY on close when shown inside vue-tabulator @row-click event

我有一个 vue-tabulator table 和一个 @row-click 事件触发了一个 bootstrap-vue 模态,这个模态显示完美当从按钮触发但从 table 行触发时,它使页面垂直居中,我检查了 window.scrolY 属性 并且它已更改。有什么办法可以防止这种行为吗?

这是因为您的 table 上没有设置高度或 maxHeight。并且可能与数据更改相关,而不是点击事件本身。

没有在 table 上设置任何高度选项,它使用经典模式而不是虚拟 DOM 呈现。在经典模式下,table 会在数据更改时重绘,这会导致 table 的高度暂时发生变化,从而导致浏览器的滚动位置发生变化。

稍等片刻后 Rogerio Angeliski vue-tabulator 的创建者与我联系并提出了这个巧妙的解决方案:

Just put a :return-focus="'body'" in the modal to evict call focus fuction

即使没有 高度 属性,它也能完美运行。我相信这是完美的,因为我不想在 table.

上设置固定高度