Skip to content

事件

通过 api.event 注册,支持 kebab-case 与 camelCase

ts
const tableApi = useXTableApi<User>()

// 以下两种写法等价
tableApi.value.event['selection-change'] = (rows) => { ... }
tableApi.value.event.selectionChange = (rows) => { ... }

支持的事件列表

支持所有 EP 原生事件(全部可注册):

事件触发时机
select / select-all / selection-change选择行
cell-mouse-enter / cell-mouse-leave / cell-click / cell-dblclick / cell-contextmenu单元格鼠标事件
row-click / row-contextmenu / row-dblclick行鼠标事件
header-click / header-contextmenu表头鼠标事件
sort-change排序变化
filter-change筛选变化
current-change当前行变化
header-dragend列宽拖动结束
expand-change展开行变化
scroll表格滚动(EP 2.9.0+)

示例

vue
<template>
  <XTable :columns="columns" :data="data" @register="tableApi.register" />
</template>

<script setup lang="ts">
import { useXTableApi } from '@/components/XTable'

const tableApi = useXTableApi<User>()

tableApi.value.event['selection-change'] = (rows: User[]) => {
  console.log('选中行:', rows)
}

tableApi.value.event['row-click'] = (row: User, column, event) => {
  console.log('点击行:', row)
}
</script>

Released under the MIT License.