简介
VTable 内部的事件监听了两种类型的事件,分别是原生 DOM 事件、内置自定义事件。
本文将讲解自定义事件的定义,以及 VTable 中自定义事件相关事项。
自定义事件
在前端开发中,Javascript 和 HTML 之间都是通过事件来进行通信,像是失焦、点击、鼠标移动等。事件是一种通信方式,我们可以通过监听事件来完成页面的交互功能。
但是对于复杂的项目,基础事件无法满足业务需求,这时就可以引入自定义事件了**。**
常规的事件采用的是观察者模式,他的触发时机是在用户进行相应操作后进行触发,而自定义事件采用的是发布-订阅的模式,允许开发者自行决定注册与触发时机。
自定义事件需要先进行注册,如下图所示,在E模块中先进行注册和传入对应的回调,随后便可以在其他模块中触发自定义事件,执行对应的回调。

在 VTable 中,自定义模块最主要是用于下面这条链路,当用户进行交互的时候,触发对应的自定义事件,更改状态模块,触发表格组件重新渲染,实现 VTable 中的交互系统。

自定义事件除了用来在各个不同模块之间进行通信以外,还能用来让业务方注册自定义事件,实现自定义逻辑。

内置事件分类
在 VTable 内部,提供了高达 50 多种内置事件,下面根据不同的分类来介绍:
-
单元格相关
-
CLICK_CELL 鼠标点击单元格事件
-
DBLCLICK_CELL 鼠标双击单元格事件
-
SELECTED_CELL 单元格选中状态改变事件
-
SELECTED_CLEAR 单元格选中状态改变事件
-
DRAG_SELECT_END 拖拽框选单元格鼠标松开事件
-
MOUSEDOWN_CELL 单元格上鼠标按下事件
-
MOUSEUP_CELL 单元格鼠标松开事件
-
MOUSEMOVE_CELL 鼠标在某个单元格上移动事件
-
MOUSEENTER_CELL 鼠标进入单元格事件
-
MOUSELEAVE_CELL