/** * 通用的管理器模型 */ export default abstract class BaseManager { protected store: T[]; constructor(props?: P); protected abstract getNameKey(): string; getAll(): T[]; getIndex(item: T): number; get(index: number): T; add(item: T, index?: number): void; remove(item: string | number | T): boolean; removeAll(): void; map: (fn: (item: T, index: number) => any) => any[]; forEach: (fn: (item: T, index: number) => void) => void; find: (fn: (item: T, index: number) => boolean) => T; findByName: (name: string) => T; }