Happy-Coding-Clans / vue-easytable

A powerful data table based on vuejs. You can use it as data grid、Microsoft Excel or Google sheets. It supports virtual scroll、cell edit etc.
https://happy-coding-clans.github.io/vue-easytable/
MIT License
3.63k stars 725 forks source link

[Feature Request] 能否添加一个表格渲染完成的事件监听 #593

Closed JellyBool closed 10 months ago

JellyBool commented 10 months ago

选择要提交 issue 的库

vue-easytable

Issue 类型

Feature

Issue 标题

能否添加一个表格渲染完成的事件监听

这个功能解决了什么问题?

比如在第一次加载数据的时候,后端如果返回的数据较多(比如 5000 行,20 列),即使 this.tableData = response.data 赋值完毕,渲染还是需要一段时间,能否提供一个事件监听函数,可以知道什么时候表格把数据渲染完毕。

你期望的 API 是什么样的?

<ve-table :table-render-finished="myTableRenderFinishedFunction" />
huangshuwei commented 10 months ago

vue 中是没有回调可以通知一个组件渲染完成的,不过由于渲染线程和js线程是互斥的,也就是渲染结束才会执行js逻辑,那么你可以通过 watch去实现你的需求:

watch: {
        tableData() {
            setTimeout(() => {
                console.log("render finished.");
            });
        },
    },
JellyBool commented 10 months ago

我这两天找了一下,目前就用这个方案解决了。感谢感谢! @huangshuwei