import { DragEvent, HTMLAttributes, ReactNode } from 'react'; import { TreeDropEvent, TreeExpandEvent, TreeExpose, TreeFieldNames } from './types.js'; import { TreeNode, TreeNodeData } from './utils.js'; export interface TreeProps extends Omit, "onSelect" | "onDragStart" | "onDragEnter" | "onDragLeave" | "onDrop" | "onDragEnd" | "defaultValue" | "defaultChecked"> { data?: TreeNodeData[]; selectedKeys?: string[]; expandedKeys?: string[]; checkedKeys?: string[]; directory?: boolean; disabled?: boolean; checkable?: boolean; draggable?: boolean; showLine?: boolean; showIcon?: boolean; showExtra?: boolean; multiple?: boolean; checkStrictly?: boolean; selectAsCheck?: boolean; queryKey?: string; /** 开启虚拟滚动,用于高效渲染大量节点 */ virtual?: boolean; /** 虚拟滚动容器高度,`virtual` 开启时生效 */ height?: number | string; /** 虚拟滚动时每个节点的高度,单位 `px` */ itemHeight?: number; /** 虚拟滚动时视口外额外渲染的节点数量 */ overscan?: number; loading?: boolean; fieldNames?: TreeFieldNames; renderTitle?: (node: TreeNode) => ReactNode; renderExtra?: (node: TreeNode) => ReactNode; onExpand?: (result: TreeExpandEvent) => void; onExpandedKeysChange?: (keys: string[]) => void; onCheck?: (node: TreeNode, checked: boolean, checkedKeys: string[]) => void; onCheckedKeysChange?: (keys: string[]) => void; onSelect?: (node: TreeNode, selectedKeys: string[]) => void; onSelectedKeysChange?: (keys: string[]) => void; onDragStart?: (node: TreeNode, event: DragEvent) => void; onDragEnter?: (node: TreeNode, event: DragEvent) => void; onDragLeave?: (node: TreeNode, event: DragEvent) => void; onDrop?: (nodes: TreeDropEvent, event: DragEvent) => void; onLoadError?: (error: unknown, node: TreeNode) => void; onDragEnd?: (node: TreeNode, event: DragEvent) => void; loadData?: (node: TreeNode) => Promise; } export type { BuildTreeOptions, TreeNode, TreeNodeData } from './utils.js'; export type { TreeDropEvent, TreeDropPosition, TreeExpandEvent, TreeExpose, TreeFieldNames, } from './types.js'; declare const Tree: import('react').ForwardRefExoticComponent>; export default Tree;