import { ReactNode, CSSProperties, ReactElement } from 'react' export type Key = string | number export interface NodeData { /** 节点 Key,用于 Tree 的 expandedKeys/selectedKeys/checkedKeys 等属性,要求整个树范围内唯一。 */ nodeKey: Key /** 标题 */ title?: ReactNode | ((data: NodeData) => ReactNode) /** 子节点 */ children?: NodeData[] /** 自定义图标,Tree 的 showIcon 需设置为 true */ icon?: ReactNode | ((e: NodeEvent) => ReactNode) /** 当 Tree 为 selectable 时,是否可选中高亮当前节点 */ selectable?: boolean /** 当 Tree 为 checkable 时,是否在当前节点前展示 Checkbox */ checkable?: boolean /** 是否禁用 Checkbox */ checkboxDisabled?: boolean /** 自定义样式名 */ className?: string /** 自定义样式 */ style?: CSSProperties } export interface NodeEvent { data: NodeData expanded: boolean selected: boolean checked: boolean halfChecked: boolean isLeaf?: boolean } export interface Props extends Omit { /** 子节点( 组) */ children?: ReactNode } export function TreeNode(props: Props): ReactElement | null export function TreeNode() { return null }