UNPKG

dehub

Version:
95 lines (94 loc) 2.26 kB
/** * DEComp 模块 * 这是一个组件管理模块,负责组件的生命周期、状态管理和事件处理 * @module DEComp */ import { IDEComp, DERecord, DEEventFunction, Tag, ObjTag, DECompOption } from "./DETypes"; /** * 组件类 * 实现了 IDEComp 接口,提供组件的状态管理和生命周期功能 */ export default class DEComp<T extends DERecord> implements IDEComp<T> { #private; /** * 构造函数 * @param tag 组件标签 * @param options 配置选项 * @param state 初始状态 */ constructor(tag: Tag | ObjTag, options?: DECompOption, state?: T); /** * 获取组件存储 */ private get compStore(); /** * 设置组件存储 */ private set compStore(value); /** * 获取状态变更事件处理函数列表 */ private get onStateChangingHandler(); /** * 获取就绪等待器列表 */ private get onReadyWaiters(); /** * 获取脏状态 */ private get dirtyState(); /** * 设置脏状态 */ private set dirtyState(value); /** * 获取配置选项 */ get options(): DECompOption; /** * 设置配置选项 */ set options(options: DERecord); /** * 等待组件就绪 */ waitReady: () => Promise<void>; /** * 设置组件就绪状态 * @param isReady 是否就绪 */ setReady: (isReady: boolean) => Promise<void>; /** * 获取组件就绪状态 */ get isReady(): boolean; /** * 设置组件就绪状态 */ private set isReady(value); /** * 获取组件标签 */ get tag(): Tag; /** * 获取组件状态 */ get state(): T; /** * 注册状态变更事件处理函数 * @param callback 回调函数 */ onStateChanging(callback: DEEventFunction): void; /** * 移除事件处理函数 * @param callback 要移除的函数 */ removeHandler(callback: DEEventFunction): void; /** * 更新组件状态 * @param target 目标状态 * @param deep 是否深度更新 */ update: (target: Partial<T>, deep?: boolean) => Promise<Partial<T>>; [property: string]: any; }