| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- import type { Alignment as ScrollStrategy } from 'element-plus/es/components/virtual-list';
- import type { SetupContext } from 'vue';
- import type { treeEmits } from '../virtual-tree';
- import type { CheckboxValueType } from 'element-plus/es/components/checkbox';
- import type { Tree, TreeData, TreeKey, TreeNode, TreeNodeData, TreeProps } from '../types';
- export declare function useTree(props: TreeProps, emit: SetupContext<typeof treeEmits>['emit']): {
- tree: import("vue").ShallowRef<Tree | undefined>;
- flattenTree: import("vue").ComputedRef<TreeNode[]>;
- isNotEmpty: import("vue").ComputedRef<boolean>;
- listRef: import("vue").Ref<import("vue").DefineComponent<{
- readonly className: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
- readonly containerElement: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | Element) | (() => string | Element) | ((new (...args: any[]) => string | Element) | (() => string | Element))[], unknown, unknown, "div", boolean>;
- readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => any[]) | (() => any[]) | ((new (...args: any[]) => any[]) | (() => any[]))[], unknown, unknown, () => [], boolean>;
- readonly direction: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "ltr" | "rtl", never, "ltr", false>;
- readonly height: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
- readonly required: true;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly innerElement: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, ObjectConstructor], unknown, unknown, "div", boolean>;
- readonly style: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
- readonly required: false;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly useIsScrolling: BooleanConstructor;
- readonly width: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>>;
- readonly required: false;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly perfMode: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
- readonly scrollbarAlwaysOn: BooleanConstructor;
- readonly cache: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 2, false>;
- readonly estimatedItemSize: {
- readonly type: import("vue").PropType<number>;
- readonly required: false;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "horizontal" | "vertical", never, "vertical", false>;
- readonly initScrollOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 0, false>;
- readonly total: {
- readonly type: import("vue").PropType<number>;
- readonly required: true;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly itemSize: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => number | import("element-plus/es/components/virtual-list").ItemSize) | (() => number | import("element-plus/es/components/virtual-list").ItemSize) | ((new (...args: any[]) => number | import("element-plus/es/components/virtual-list").ItemSize) | (() => number | import("element-plus/es/components/virtual-list").ItemSize))[], never, never>>;
- readonly required: true;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- }, {
- ns: {
- namespace: import("vue").ComputedRef<string>;
- b: (blockSuffix?: string) => string;
- e: (element?: string) => string;
- m: (modifier?: string) => string;
- be: (blockSuffix?: string, element?: string) => string;
- em: (element?: string, modifier?: string) => string;
- bm: (blockSuffix?: string, modifier?: string) => string;
- bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
- is: {
- (name: string, state: boolean | undefined): string;
- (name: string): string;
- };
- cssVar: (object: Record<string, string>) => Record<string, string>;
- cssVarName: (name: string) => string;
- cssVarBlock: (object: Record<string, string>) => Record<string, string>;
- cssVarBlockName: (name: string) => string;
- };
- clientSize: import("vue").ComputedRef<string | number | undefined>;
- estimatedTotalSize: import("vue").ComputedRef<number>;
- windowStyle: import("vue").ComputedRef<(string | import("vue").CSSProperties | import("vue").StyleValue[] | {
- [x: string]: string;
- position: string;
- WebkitOverflowScrolling: string;
- willChange: string;
- } | undefined)[]>;
- windowRef: import("vue").Ref<HTMLElement | undefined>;
- innerRef: import("vue").Ref<HTMLElement | undefined>;
- innerStyle: import("vue").ComputedRef<{
- height: string;
- pointerEvents: string | undefined;
- width: string;
- }>;
- itemsToRender: import("vue").ComputedRef<number[]>;
- scrollbarRef: import("vue").Ref<any>;
- states: import("vue").Ref<{
- isScrolling: boolean;
- scrollDir: string;
- scrollOffset: number;
- updateRequested: boolean;
- isScrollbarDragging: boolean;
- scrollbarAlwaysOn: boolean;
- }>;
- getItemStyle: (idx: number) => import("vue").CSSProperties;
- onScroll: (e: Event) => void;
- onScrollbarScroll: (distanceToGo: number, totalSteps: number) => void;
- onWheel: (e: WheelEvent) => void;
- scrollTo: (offset: number) => void;
- scrollToItem: (idx: number, alignment?: ScrollStrategy) => void;
- resetScrollTop: () => void;
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "itemRendered")[], "scroll" | "itemRendered", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
- readonly className: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
- readonly containerElement: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | Element) | (() => string | Element) | ((new (...args: any[]) => string | Element) | (() => string | Element))[], unknown, unknown, "div", boolean>;
- readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => any[]) | (() => any[]) | ((new (...args: any[]) => any[]) | (() => any[]))[], unknown, unknown, () => [], boolean>;
- readonly direction: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "ltr" | "rtl", never, "ltr", false>;
- readonly height: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
- readonly required: true;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly innerElement: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, ObjectConstructor], unknown, unknown, "div", boolean>;
- readonly style: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
- readonly required: false;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly useIsScrolling: BooleanConstructor;
- readonly width: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>>;
- readonly required: false;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly perfMode: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
- readonly scrollbarAlwaysOn: BooleanConstructor;
- readonly cache: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 2, false>;
- readonly estimatedItemSize: {
- readonly type: import("vue").PropType<number>;
- readonly required: false;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "horizontal" | "vertical", never, "vertical", false>;
- readonly initScrollOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 0, false>;
- readonly total: {
- readonly type: import("vue").PropType<number>;
- readonly required: true;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- readonly itemSize: {
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => number | import("element-plus/es/components/virtual-list").ItemSize) | (() => number | import("element-plus/es/components/virtual-list").ItemSize) | ((new (...args: any[]) => number | import("element-plus/es/components/virtual-list").ItemSize) | (() => number | import("element-plus/es/components/virtual-list").ItemSize))[], never, never>>;
- readonly required: true;
- readonly validator: ((val: unknown) => boolean) | undefined;
- __epPropKey: true;
- };
- }>> & {
- onScroll?: ((...args: any[]) => any) | undefined;
- onItemRendered?: ((...args: any[]) => any) | undefined;
- }, {
- readonly data: any[];
- readonly direction: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
- readonly layout: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
- readonly className: string;
- readonly containerElement: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | ((new (...args: any[]) => string | Element) | (() => string | Element))[], unknown, unknown>;
- readonly innerElement: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
- readonly perfMode: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
- readonly useIsScrolling: boolean;
- readonly scrollbarAlwaysOn: boolean;
- readonly cache: number;
- readonly initScrollOffset: number;
- }> | undefined>;
- getKey: (node: TreeNodeData) => TreeKey;
- getChildren: (node: TreeNodeData) => TreeNodeData[];
- toggleExpand: (node: TreeNode) => void;
- toggleCheckbox: (node: TreeNode, isChecked: CheckboxValueType, nodeClick?: boolean, immediateUpdate?: boolean) => void;
- isChecked: (node: TreeNode) => boolean;
- isIndeterminate: (node: TreeNode) => boolean;
- isDisabled: (node: TreeNode) => boolean;
- isCurrent: (node: TreeNode) => boolean;
- isForceHiddenExpandIcon: (node: TreeNode) => boolean;
- handleNodeClick: (node: TreeNode, e: MouseEvent) => void;
- handleNodeDrop: (node: TreeNode, e: DragEvent) => void;
- handleNodeCheck: (node: TreeNode, checked: CheckboxValueType) => void;
- getCurrentNode: () => TreeNodeData | undefined;
- getCurrentKey: () => TreeKey | undefined;
- setCurrentKey: (key: TreeKey) => void;
- getCheckedKeys: (leafOnly?: boolean) => TreeKey[];
- getCheckedNodes: (leafOnly?: boolean) => TreeNodeData[];
- getHalfCheckedKeys: () => TreeKey[];
- getHalfCheckedNodes: () => TreeNodeData[];
- setChecked: (key: TreeKey, isChecked: boolean) => void;
- setCheckedKeys: (keys: TreeKey[]) => void;
- filter: (query: string) => void;
- setData: (data: TreeData) => void;
- getNode: (data: TreeKey | TreeNodeData) => TreeNode | undefined;
- expandNode: (node: TreeNode) => void;
- collapseNode: (node: TreeNode) => void;
- setExpandedKeys: (keys: TreeKey[]) => void;
- scrollToNode: (key: TreeKey, strategy?: ScrollStrategy) => void;
- scrollTo: (offset: number) => void;
- };
|