build
This commit is contained in:
parent
c7e8d113de
commit
14b86b0c66
|
|
@ -37,32 +37,63 @@ type FeatureDef<IsList extends boolean, ED extends EntityDict & BaseEntityDict,
|
||||||
type DevideWidth = 'pc' | 'mobile';
|
type DevideWidth = 'pc' | 'mobile';
|
||||||
export type CreateDataDef<ED extends EntityDict & BaseEntityDict, T extends keyof ED> = ED[T]['CreateSingle']['data'] | (() => ED[T]['CreateSingle']['data']);
|
export type CreateDataDef<ED extends EntityDict & BaseEntityDict, T extends keyof ED> = ED[T]['CreateSingle']['data'] | (() => ED[T]['CreateSingle']['data']);
|
||||||
interface ComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends DataOption, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> {
|
interface ComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends DataOption, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> {
|
||||||
|
/**
|
||||||
|
* 是否为列表组件
|
||||||
|
*/
|
||||||
isList?: IsList;
|
isList?: IsList;
|
||||||
zombie?: true;
|
zombie?: true;
|
||||||
getTotal?: {
|
getTotal?: {
|
||||||
max: number;
|
max: number;
|
||||||
deviceWidth?: DevideWidth | 'all';
|
deviceWidth?: DevideWidth | 'all';
|
||||||
} | number;
|
} | number;
|
||||||
|
/**
|
||||||
|
* 组件所关联的实体
|
||||||
|
*/
|
||||||
entity?: T | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => T);
|
entity?: T | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => T);
|
||||||
path?: string;
|
path?: string;
|
||||||
|
/**
|
||||||
|
* 需要监听的features
|
||||||
|
*/
|
||||||
features?: FeatureDef<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod>[];
|
features?: FeatureDef<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod>[];
|
||||||
cascadeActions?: (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => {
|
cascadeActions?: (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => {
|
||||||
[K in keyof ED[T]['Schema']]?: ActionDef<ED, keyof ED>[];
|
[K in keyof ED[T]['Schema']]?: ActionDef<ED, keyof ED>[];
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* 需要校验的actions
|
||||||
|
*/
|
||||||
actions?: ActionDef<ED, T>[] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ActionDef<ED, T>[]);
|
actions?: ActionDef<ED, T>[] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ActionDef<ED, T>[]);
|
||||||
|
/**
|
||||||
|
* 需要获取的数据字段
|
||||||
|
* 若嵌套在list中,需要保证父list组件能够覆盖子组件的projection
|
||||||
|
*/
|
||||||
projection?: ED[T]['Selection']['data'] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['data'] | undefined);
|
projection?: ED[T]['Selection']['data'] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['data'] | undefined);
|
||||||
append?: boolean;
|
append?: boolean;
|
||||||
|
/**
|
||||||
|
* 分页信息
|
||||||
|
*/
|
||||||
pagination?: Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> | Array<Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> & {
|
pagination?: Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> | Array<Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> & {
|
||||||
deviceWidth: DevideWidth;
|
deviceWidth: DevideWidth;
|
||||||
}>;
|
}>;
|
||||||
|
/**
|
||||||
|
* 过滤器
|
||||||
|
*/
|
||||||
filters?: Array<{
|
filters?: Array<{
|
||||||
filter: NonNullable<ED[T]['Selection']['filter']> | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['filter'] | undefined);
|
filter: NonNullable<ED[T]['Selection']['filter']> | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['filter'] | undefined);
|
||||||
'#name'?: string;
|
'#name'?: string;
|
||||||
}>;
|
}>;
|
||||||
|
/**
|
||||||
|
* 排序器
|
||||||
|
*/
|
||||||
sorters?: Array<{
|
sorters?: Array<{
|
||||||
sorter: NonNullable<ED[T]['Selection']['sorter']>[number] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['sorter'] | NonNullable<ED[T]['Selection']['sorter']>[number]);
|
sorter: NonNullable<ED[T]['Selection']['sorter']>[number] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['sorter'] | NonNullable<ED[T]['Selection']['sorter']>[number]);
|
||||||
'#name'?: string;
|
'#name'?: string;
|
||||||
}>;
|
}>;
|
||||||
|
/**
|
||||||
|
* 表单数据
|
||||||
|
* 在组件渲染前会调用此方法,将返回的数据放入组件的data中
|
||||||
|
* @param options 组件获取到的数据
|
||||||
|
* @returns 返回给页面的数据
|
||||||
|
*/
|
||||||
formData?: (options: {
|
formData?: (options: {
|
||||||
data: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
data: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
||||||
origin?: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
origin?: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
||||||
|
|
@ -74,8 +105,17 @@ interface ComponentOption<IsList extends boolean, ED extends EntityDict & BaseEn
|
||||||
modified: boolean;
|
modified: boolean;
|
||||||
}) => FormedData;
|
}) => FormedData;
|
||||||
ns?: T | T[];
|
ns?: T | T[];
|
||||||
|
/**
|
||||||
|
* 声明的State数据
|
||||||
|
*/
|
||||||
data?: ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => TData) | TData;
|
data?: ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => TData) | TData;
|
||||||
|
/**
|
||||||
|
* 需要参数传入的默认prop参数
|
||||||
|
*/
|
||||||
properties?: TProperty;
|
properties?: TProperty;
|
||||||
|
/**
|
||||||
|
* 自定义方法
|
||||||
|
*/
|
||||||
methods?: TMethod;
|
methods?: TMethod;
|
||||||
}
|
}
|
||||||
export type MiniprogramStyleMethods = {
|
export type MiniprogramStyleMethods = {
|
||||||
|
|
@ -106,17 +146,63 @@ export type ComponentFullThisType<ED extends EntityDict & BaseEntityDict, T exte
|
||||||
oakLifetime: OakLifetime;
|
oakLifetime: OakLifetime;
|
||||||
} & OakCommonComponentMethods<ED, T> & OakListComponentMethods<ED, T> & OakSingleComponentMethods<ED, T>;
|
} & OakCommonComponentMethods<ED, T> & OakListComponentMethods<ED, T> & OakSingleComponentMethods<ED, T>;
|
||||||
export type OakComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, AsyncContext<ED>>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends Record<string, any>, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> = ComponentOption<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod> & Partial<{
|
export type OakComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, AsyncContext<ED>>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends Record<string, any>, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> = ComponentOption<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod> & Partial<{
|
||||||
|
/**
|
||||||
|
* 生命周期回调
|
||||||
|
*/
|
||||||
lifetimes: {
|
lifetimes: {
|
||||||
|
/**
|
||||||
|
* 在组件实例刚刚被创建时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
created?(): void;
|
created?(): void;
|
||||||
|
/**
|
||||||
|
* 在组件实例进入页面节点树时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
attached?(): void;
|
attached?(): void;
|
||||||
|
/**
|
||||||
|
* 在组件实例进入页面节点树时执行
|
||||||
|
* async or sync
|
||||||
|
*/
|
||||||
ready?(): any;
|
ready?(): any;
|
||||||
|
/**
|
||||||
|
* 小程序专用,在组件实例被移动到节点树另一个位置时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
moved?(): void;
|
moved?(): void;
|
||||||
|
/**
|
||||||
|
* 在组件实例被从页面节点树移除时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
detached?(): void;
|
detached?(): void;
|
||||||
|
/**
|
||||||
|
* 小程序专用,每当组件方法抛出错误时执行
|
||||||
|
* sync only
|
||||||
|
* @param err 错误信息
|
||||||
|
*/
|
||||||
error?(err: Error): void;
|
error?(err: Error): void;
|
||||||
|
/**
|
||||||
|
* 组件所在的页面被展示时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
show?(): void;
|
show?(): void;
|
||||||
|
/**
|
||||||
|
* 组件所在的页面被隐藏时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
hide?(): void;
|
hide?(): void;
|
||||||
|
/**
|
||||||
|
* 组件所在的页面尺寸变化时执行
|
||||||
|
* sync only
|
||||||
|
* @param size 页面尺寸信息
|
||||||
|
*/
|
||||||
resize?(size: WechatMiniprogram.Page.IResizeOption): void;
|
resize?(size: WechatMiniprogram.Page.IResizeOption): void;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* 监听器,监听State或者Props的变化
|
||||||
|
* 名称:监听的属性名
|
||||||
|
* 回调:监听的回调函数 (prev, next) => void
|
||||||
|
*/
|
||||||
listeners: Record<string, (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>, prev: Record<string, any>, next: Record<string, any>) => void>;
|
listeners: Record<string, (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>, prev: Record<string, any>, next: Record<string, any>) => void>;
|
||||||
}> & Partial<{
|
}> & Partial<{
|
||||||
wechatMp: {
|
wechatMp: {
|
||||||
|
|
|
||||||
|
|
@ -37,32 +37,63 @@ type FeatureDef<IsList extends boolean, ED extends EntityDict & BaseEntityDict,
|
||||||
type DevideWidth = 'pc' | 'mobile';
|
type DevideWidth = 'pc' | 'mobile';
|
||||||
export type CreateDataDef<ED extends EntityDict & BaseEntityDict, T extends keyof ED> = ED[T]['CreateSingle']['data'] | (() => ED[T]['CreateSingle']['data']);
|
export type CreateDataDef<ED extends EntityDict & BaseEntityDict, T extends keyof ED> = ED[T]['CreateSingle']['data'] | (() => ED[T]['CreateSingle']['data']);
|
||||||
interface ComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends DataOption, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> {
|
interface ComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends DataOption, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> {
|
||||||
|
/**
|
||||||
|
* 是否为列表组件
|
||||||
|
*/
|
||||||
isList?: IsList;
|
isList?: IsList;
|
||||||
zombie?: true;
|
zombie?: true;
|
||||||
getTotal?: {
|
getTotal?: {
|
||||||
max: number;
|
max: number;
|
||||||
deviceWidth?: DevideWidth | 'all';
|
deviceWidth?: DevideWidth | 'all';
|
||||||
} | number;
|
} | number;
|
||||||
|
/**
|
||||||
|
* 组件所关联的实体
|
||||||
|
*/
|
||||||
entity?: T | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => T);
|
entity?: T | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => T);
|
||||||
path?: string;
|
path?: string;
|
||||||
|
/**
|
||||||
|
* 需要监听的features
|
||||||
|
*/
|
||||||
features?: FeatureDef<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod>[];
|
features?: FeatureDef<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod>[];
|
||||||
cascadeActions?: (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => {
|
cascadeActions?: (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => {
|
||||||
[K in keyof ED[T]['Schema']]?: ActionDef<ED, keyof ED>[];
|
[K in keyof ED[T]['Schema']]?: ActionDef<ED, keyof ED>[];
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* 需要校验的actions
|
||||||
|
*/
|
||||||
actions?: ActionDef<ED, T>[] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ActionDef<ED, T>[]);
|
actions?: ActionDef<ED, T>[] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ActionDef<ED, T>[]);
|
||||||
|
/**
|
||||||
|
* 需要获取的数据字段
|
||||||
|
* 若嵌套在list中,需要保证父list组件能够覆盖子组件的projection
|
||||||
|
*/
|
||||||
projection?: ED[T]['Selection']['data'] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['data'] | undefined);
|
projection?: ED[T]['Selection']['data'] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['data'] | undefined);
|
||||||
append?: boolean;
|
append?: boolean;
|
||||||
|
/**
|
||||||
|
* 分页信息
|
||||||
|
*/
|
||||||
pagination?: Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> | Array<Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> & {
|
pagination?: Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> | Array<Pick<Pagination, 'currentPage' | 'pageSize' | 'randomRange'> & {
|
||||||
deviceWidth: DevideWidth;
|
deviceWidth: DevideWidth;
|
||||||
}>;
|
}>;
|
||||||
|
/**
|
||||||
|
* 过滤器
|
||||||
|
*/
|
||||||
filters?: Array<{
|
filters?: Array<{
|
||||||
filter: NonNullable<ED[T]['Selection']['filter']> | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['filter'] | undefined);
|
filter: NonNullable<ED[T]['Selection']['filter']> | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['filter'] | undefined);
|
||||||
'#name'?: string;
|
'#name'?: string;
|
||||||
}>;
|
}>;
|
||||||
|
/**
|
||||||
|
* 排序器
|
||||||
|
*/
|
||||||
sorters?: Array<{
|
sorters?: Array<{
|
||||||
sorter: NonNullable<ED[T]['Selection']['sorter']>[number] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['sorter'] | NonNullable<ED[T]['Selection']['sorter']>[number]);
|
sorter: NonNullable<ED[T]['Selection']['sorter']>[number] | ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => ED[T]['Selection']['sorter'] | NonNullable<ED[T]['Selection']['sorter']>[number]);
|
||||||
'#name'?: string;
|
'#name'?: string;
|
||||||
}>;
|
}>;
|
||||||
|
/**
|
||||||
|
* 表单数据
|
||||||
|
* 在组件渲染前会调用此方法,将返回的数据放入组件的data中
|
||||||
|
* @param options 组件获取到的数据
|
||||||
|
* @returns 返回给页面的数据
|
||||||
|
*/
|
||||||
formData?: (options: {
|
formData?: (options: {
|
||||||
data: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
data: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
||||||
origin?: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
origin?: IsList extends true ? RowWithActions<ED, T>[] : RowWithActions<ED, T>;
|
||||||
|
|
@ -74,8 +105,17 @@ interface ComponentOption<IsList extends boolean, ED extends EntityDict & BaseEn
|
||||||
modified: boolean;
|
modified: boolean;
|
||||||
}) => FormedData;
|
}) => FormedData;
|
||||||
ns?: T | T[];
|
ns?: T | T[];
|
||||||
|
/**
|
||||||
|
* 声明的State数据
|
||||||
|
*/
|
||||||
data?: ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => TData) | TData;
|
data?: ((this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>) => TData) | TData;
|
||||||
|
/**
|
||||||
|
* 需要参数传入的默认prop参数
|
||||||
|
*/
|
||||||
properties?: TProperty;
|
properties?: TProperty;
|
||||||
|
/**
|
||||||
|
* 自定义方法
|
||||||
|
*/
|
||||||
methods?: TMethod;
|
methods?: TMethod;
|
||||||
}
|
}
|
||||||
export type MiniprogramStyleMethods = {
|
export type MiniprogramStyleMethods = {
|
||||||
|
|
@ -106,17 +146,63 @@ export type ComponentFullThisType<ED extends EntityDict & BaseEntityDict, T exte
|
||||||
oakLifetime: OakLifetime;
|
oakLifetime: OakLifetime;
|
||||||
} & OakCommonComponentMethods<ED, T> & OakListComponentMethods<ED, T> & OakSingleComponentMethods<ED, T>;
|
} & OakCommonComponentMethods<ED, T> & OakListComponentMethods<ED, T> & OakSingleComponentMethods<ED, T>;
|
||||||
export type OakComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, AsyncContext<ED>>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends Record<string, any>, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> = ComponentOption<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod> & Partial<{
|
export type OakComponentOption<IsList extends boolean, ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends Record<string, Aspect<ED, AsyncContext<ED>>>, FD extends Record<string, Feature>, FormedData extends Record<string, any>, TData extends Record<string, any>, TProperty extends DataOption, TMethod extends Record<string, Function>, EMethod extends Record<string, Function> = {}> = ComponentOption<IsList, ED, T, Cxt, FrontCxt, AD, FD, FormedData, TData, TProperty, TMethod, EMethod> & Partial<{
|
||||||
|
/**
|
||||||
|
* 生命周期回调
|
||||||
|
*/
|
||||||
lifetimes: {
|
lifetimes: {
|
||||||
|
/**
|
||||||
|
* 在组件实例刚刚被创建时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
created?(): void;
|
created?(): void;
|
||||||
|
/**
|
||||||
|
* 在组件实例进入页面节点树时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
attached?(): void;
|
attached?(): void;
|
||||||
|
/**
|
||||||
|
* 在组件实例进入页面节点树时执行
|
||||||
|
* async or sync
|
||||||
|
*/
|
||||||
ready?(): any;
|
ready?(): any;
|
||||||
|
/**
|
||||||
|
* 小程序专用,在组件实例被移动到节点树另一个位置时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
moved?(): void;
|
moved?(): void;
|
||||||
|
/**
|
||||||
|
* 在组件实例被从页面节点树移除时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
detached?(): void;
|
detached?(): void;
|
||||||
|
/**
|
||||||
|
* 小程序专用,每当组件方法抛出错误时执行
|
||||||
|
* sync only
|
||||||
|
* @param err 错误信息
|
||||||
|
*/
|
||||||
error?(err: Error): void;
|
error?(err: Error): void;
|
||||||
|
/**
|
||||||
|
* 组件所在的页面被展示时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
show?(): void;
|
show?(): void;
|
||||||
|
/**
|
||||||
|
* 组件所在的页面被隐藏时执行
|
||||||
|
* sync only
|
||||||
|
*/
|
||||||
hide?(): void;
|
hide?(): void;
|
||||||
|
/**
|
||||||
|
* 组件所在的页面尺寸变化时执行
|
||||||
|
* sync only
|
||||||
|
* @param size 页面尺寸信息
|
||||||
|
*/
|
||||||
resize?(size: WechatMiniprogram.Page.IResizeOption): void;
|
resize?(size: WechatMiniprogram.Page.IResizeOption): void;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* 监听器,监听State或者Props的变化
|
||||||
|
* 名称:监听的属性名
|
||||||
|
* 回调:监听的回调函数 (prev, next) => void
|
||||||
|
*/
|
||||||
listeners: Record<string, (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>, prev: Record<string, any>, next: Record<string, any>) => void>;
|
listeners: Record<string, (this: ComponentPublicThisType<ED, T, Cxt, FrontCxt, AD, FD, FormedData, IsList, TData, TProperty, TMethod, EMethod>, prev: Record<string, any>, next: Record<string, any>) => void>;
|
||||||
}> & Partial<{
|
}> & Partial<{
|
||||||
wechatMp: {
|
wechatMp: {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue