NodeChildren
@types IPublicModelNodeChildren
@since v1.0.0
基本介绍
节点孩子模型
属性
owner
返回当前 children 实例所属的节点实例
@type {IPublicModelNode | null}
相关类型:IPublicModelNode
size
children 内的节点实例数
@type {number}
isEmptyNode
是否为空
@type {boolean}
@since v1.1.0
v1.1.0 之前请使用
isEmpty
notEmptyNode
是否不为空
@type {boolean}
@since v1.1.0
方法
delete
删除指定节点
/**
* 删除指定节点
* delete the node
* @param node
*/
delete(node: IPublicModelNode): boolean;
相关类型:IPublicModelNode
insert
插入一个节点
/**
* 插入一个节点
* insert the node
* @param node
*/
insert(node: IPublicModelNode): boolean;
相关类型:IPublicModelNode
indexOf
返回指定节点的下标
/**
* 返回指定节点的下标
* get index of node in current children
* @param node
* @returns
*/
indexOf(node: IPublicModelNode): number;
相关类型:IPublicModelNode
splice
类似数组 splice 操作
/**
* 类似数组 splice 操作
* provide the same function with {Array.prototype.splice}
* @param start
* @param deleteCount
* @param node
*/
splice(start: number, deleteCount: number, node?: IPublicModelNode): any;
相关类型:IPublicModelNode
get
返回指定下标的节点
/**
* 返回指定下标的节点
* get node with index
* @param index
* @returns
*/
get(index: number): IPublicModelNode | null;
相关类型:IPublicModelNode
has
是否包含指定节点
/**
* 是否包含指定节点
* check if node exists in current children
* @param node
* @returns
*/
has(node: IPublicModelNode): boolean;
相关类型:IPublicModelNode
forEach
类似数组的 forEach
/**
* 类似数组的 forEach
* provide the same function with {Array.prototype.forEach}
* @param fn
*/
forEach(fn: (node: IPublicModelNode, index: number) => void): void;
相关类型:IPublicModelNode
reverse
类似数组的 reverse
/**
* 类似数组的 reverse
* provide the same function with {Array.prototype.reverse}
*/
reverse(): IPublicModelNode[];
相关类型:IPublicModelNode
map
类似数组的 map
/**
* 类似数组的 map
* provide the same function with {Array.prototype.map}
* @param fn
*/
map<T>(fn: (node: IPublicModelNode, index: number) => T[]): any[] | null;
相关类型:IPublicModelNode
every
类似数组的 every
/**
* 类似数组的 every
* provide the same function with {Array.prototype.every}
* @param fn
*/
every(fn: (node: IPublicModelNode, index: number) => boolean): boolean;
相关类型:IPublicModelNode
some
类似数组的 some
/**
* 类似数组的 some
* provide the same function with {Array.prototype.some}
* @param fn
*/
some(fn: (node: IPublicModelNode, index: number) => boolean): boolean;
相关类型:IPublicModelNode
filter
类似数组的 filter
/**
* 类似数组的 filter
* provide the same function with {Array.prototype.filter}
* @param fn
*/
filter(fn: (node: IPublicModelNode, index: number) => boolean): any;
相关类型:IPublicModelNode
find
类似数组的 find
/**
* 类似数组的 find
* provide the same function with {Array.prototype.find}
* @param fn
*/
find(fn: (node: IPublicModelNode, index: number) => boolean): IPublicModelNode | null;
相关类型:IPublicModelNode
reduce
类似数组的 reduce
/**
* 类似数组的 reduce
* provide the same function with {Array.prototype.reduce}
* @param fn
*/
reduce(fn: (acc: any, cur: IPublicModelNode) => any, initialValue: any): void;
相关类型:IPublicModelNode
importSchema
导入 schema
/**
* 导入 schema
* import schema
* @param data
*/
importSchema(data?: IPublicTypeNodeData | IPublicTypeNodeData[]): void;
相关类型:IPublicTypeNodeData
exportSchema
导出 schema
/**
* 导出 schema
* export schema
* @param stage
*/
exportSchema(stage: IPublicEnumTransformStage): IPublicTypeNodeSchema;
相关类型:
mergeChildren
执行新增、删除、排序等操作
/**
* 执行新增、删除、排序等操作
* excute remove/add/sort operations
* @param remover
* @param adder
* @param sorter
*/
mergeChildren(
remover: (node: IPublicModelNode, idx: number) => boolean,
adder: (children: IPublicModelNode[]) => IPublicTypeNodeData[] | null,
sorter: (firstNode: IPublicModelNode, secondNode: IPublicModelNode) => number
): any;
相关类型: