vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
32 lines (28 loc) • 1.39 kB
TypeScript
import { VxeTableConstructor, VxeTableDefines, VxeTableDataRow, VxeTablePrivateMethods } from '../table'
import { VxeGridConstructor } from '../grid'
import { VxeGlobalRendererHandles } from './renderer'
/* eslint-disable no-use-before-define */
export namespace VxeGlobalMenusHandles {
export type MenusOption<D = VxeTableDataRow> = {
menuMethod?: (params: MenuMethodParams<D>, event: Event) => any
}
export interface MenuMethodParams<D = VxeTableDataRow> extends VxeGlobalRendererHandles.RenderCellParams<D> {
$grid: VxeGridConstructor<D> | null
$table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
$event: MouseEvent
menu: VxeTableDefines.MenuFirstOption | VxeTableDefines.MenuChildOption
}
}
/**
* 全局快捷菜单
*/
export interface VxeGlobalMenus {
mixin(opts: {
[code: string]: VxeGlobalMenusHandles.MenusOption<any> | ((params: VxeGlobalMenusHandles.MenuMethodParams<any>, event: Event) => any)
}): VxeGlobalMenus
has(code: string): boolean
get(code: string): VxeGlobalMenusHandles.MenusOption<any>
add(code: string, options: VxeGlobalMenusHandles.MenusOption<any> | ((params: VxeGlobalMenusHandles.MenuMethodParams<any>, event: Event) => any)): VxeGlobalMenus
delete(code: string): void
forEach(callback: (options: VxeGlobalMenusHandles.MenusOption<any>, code: string) => void): void
}