UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

37 lines (33 loc) 853 B
import {RendererEvent} from '../utils/renderer-event'; import {dataMapping} from '../utils/tpl-builtin'; import { Action, ListenerAction, ListenerContext, LoopStatus, registerAction } from './Action'; /** * 组件动作 * * @export * @class CmptAction * @implements {Action} */ export class CmptAction implements Action { async run( action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any> ) { // 根据唯一ID查找指定组件 const component = renderer.props.$schema.id !== action.componentId ? event.context.scoped?.getComponentById(action.componentId) : renderer; // 执行组件动作 (await component.props.onAction?.(event, action, action.args)) || component.doAction?.(action, action.args); } } registerAction('component', new CmptAction());