UNPKG

vxe-table-demonic

Version:

一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...

126 lines (109 loc) 3.79 kB
import { SetupContext, RenderFunction, Ref, ComponentPublicInstance } from 'vue' import { VXEComponent, VxeComponentBase, VxeEvent, SizeType, ValueOf, VNodeStyle } from './component' /* eslint-disable no-use-before-define */ /** * 组件 - 工具提示 * @example import { VxeTooltip } from 'vxe-components' */ export const VxeTooltip: VXEComponent<VxeTooltipProps, VxeTooltipEventProps, VxeTooltipSlots> /** * 组件 - 工具提示 */ export const Tooltip: typeof VxeTooltip export type VxeTooltipInstance = ComponentPublicInstance<VxeTooltipProps, VxeTooltipConstructor> export interface VxeTooltipConstructor extends VxeComponentBase, VxeTooltipMethods { props: VxeTooltipProps context: SetupContext<VxeTooltipEmits> reactData: TooltipReactData getRefMaps(): TooltipPrivateRef renderVN: RenderFunction } export interface TooltipPrivateRef { refElem: Ref<HTMLDivElement> } export interface VxeTooltipPrivateRef extends TooltipPrivateRef { } export interface TooltipReactData { target: HTMLElement | null isUpdate: boolean visible: boolean tipContent: string | number | undefined, tipActive: boolean tipTarget: HTMLElement | null tipZindex: number tipStore: { style: VNodeStyle placement: any arrowStyle: VNodeStyle } } export namespace VxeTooltipPropTypes { export type Size = SizeType export type ModelValue = boolean export type Trigger = 'hover' | 'click' | 'manual' | '' | null export type Theme = string export type Content = string | number export type UseHTML = boolean export type ZIndex = string | number export type PopupClassName = string | ((params: { $tooltip: VxeTooltipConstructor }) => string) export type IsArrow = boolean export type Enterable = boolean export type EnterDelay = number export type LeaveDelay = number export type LeaveMethod = (params: { $event: MouseEvent }) => boolean } export type VxeTooltipProps = { size?: VxeTooltipPropTypes.Size modelValue?: VxeTooltipPropTypes.ModelValue trigger?: VxeTooltipPropTypes.Trigger theme?: VxeTooltipPropTypes.Theme content?: VxeTooltipPropTypes.Content useHTML?: VxeTooltipPropTypes.UseHTML popupClassName?: VxeTooltipPropTypes.PopupClassName zIndex?: VxeTooltipPropTypes.ZIndex isArrow?: VxeTooltipPropTypes.IsArrow enterable?: VxeTooltipPropTypes.Enterable enterDelay?: VxeTooltipPropTypes.EnterDelay leaveDelay?: VxeTooltipPropTypes.LeaveDelay leaveMethod?: VxeTooltipPropTypes.LeaveMethod } export interface TooltipMethods { dispatchEvent(type: ValueOf<VxeTooltipEmits>, params: any, evnt: Event): void /** * 显示 * @param target 自定义目标元素 * @param content 自定义内容 */ open(target?: any, content?: VxeTooltipPropTypes.Content): Promise<void> toVisible(target?: HTMLElement, content?: VxeTooltipPropTypes.Content): Promise<void> /** * 隐藏 */ close(): Promise<any> updatePlacement(): Promise<any> isActived(): boolean setActived(actived: boolean): void } export interface VxeTooltipMethods extends TooltipMethods { } export interface TooltipPrivateMethods { } export interface VxeTooltipPrivateMethods extends TooltipPrivateMethods { } export type VxeTooltipEmits = [ 'update:modelValue' ] export namespace VxeTooltipDefines { interface TooltipEventParams extends VxeEvent { $tooltip: VxeTooltipConstructor } } export type VxeTooltipEventProps = { [key: string]: any } export interface VxeTooltipListeners { } export namespace VxeTooltipEvents { } export interface VxeTooltipSlots { /** * 自定义插槽模板 */ [key: string]: ((params: { [key: string]: any }) => any) | undefined }