UNPKG

@teamix/pro-action

Version:

action组件

25 lines (24 loc) 1.16 kB
/// <reference types="react" /> import { MaybePromise } from '@teamix/utils'; export interface BaseAction { /** 事件触发方式,默认是 onClick */ trigger?: string; /** 事件发生时,是否执行 e.preventDefault() 方法 */ preventDefault?: boolean; /** 事件发生时,是否执行 e.stopPropagation() 方法 */ stopPropagation?: boolean; /** 事件执行前的处理函数 * 如果返回 false 或者 Promise<false>,则停止 Action 执行。 * 如果返回 true 或者 Promise<true>,则正常执行 Action。 * 如果返回其他对象,则正常执行 Action,并把返回的对象放到接下来 Action 的上下文中。 */ beforeAction?: () => MaybePromise<any>; /** 事件开始执行后的回调函数 */ onTrigger?: () => void; /** 事件开始执行完毕的回调函数 */ onFinish?: (params?: any) => any; } export declare function eventHandler(action: BaseAction, actionContext: any, onTrigger: (context: any, e: React.MouseEvent<HTMLElement>) => void): { [x: string]: (e: React.MouseEvent<HTMLElement>) => Promise<void>; }; export default eventHandler;