UNPKG

yhui-yuanhuan

Version:

A Component Library for Vue 3 based on element-plus

61 lines (60 loc) 1.97 kB
import { type Ref, VNode } from 'vue'; export declare const actionsColumnProp = "_@_actions"; type VNodeWithSeenChildren = VNode & { _seenChildren?: VNode[]; }; type Column = { type: string; prop: string; label: string; checked: boolean; disabled: boolean; children?: Column[]; }; type SettingDataConstructorParam = Partial<SettingData> & Pick<SettingData, 'slotItems'>; /** * 表格设置 * * 有两个`map`:一个在`static`中,`new`时使用;一个在`storage`中,`retrieve`时使用 * */ export declare class SettingData { columns: Column[]; slotItems: VNode[]; purifiedSlotItems: VNode[]; propEnum: string[]; id: string; static key: string; /** * see getInstance */ private constructor(); static getInstance(param: SettingDataConstructorParam): SettingData; private validateProp; purifySlotItems(slotItems: VNode[]): VNodeWithSeenChildren[]; generateColumns(purifiedSlotItems: VNode[]): { type: any; prop: any; label: any; checked: boolean; disabled: boolean; }[]; setColumns(): void; clear(): void; watch(theRef?: Ref<SettingData>): void; store(): void; static clear(): void; /** * 获取表格设置 * @param option * @returns 无id,返回所有设置,需要自行 new SettingData(item) * @returns 有id,返回对应设置 * @returns 有id和columns,返回合并的设置 columns:[...{...columnInOption,...columnInStorage}] * columns 由 option.columns.map 合并 storage 中的设置 */ static unstore(): Record<string, object> | null; static unstore(option: Pick<SettingData, 'id' | 'slotItems'>): SettingData | null; static unstore(option: Pick<SettingData, 'id' | 'slotItems' | 'columns'>): SettingData | null; static unstore(option: SettingDataConstructorParam): SettingData | Record<string, Partial<SettingData>> | null; } export {};