/// import * as React from "react"; export interface NodeProps extends React.HTMLAttributes { /** * 样式类名的品牌前缀 */ prefix?: string; /** * 自定义类名 */ className?: string; /** * 自定义内联样式 */ style?: React.CSSProperties; /** * 树节点 */ children?: React.ReactNode; /** * 节点文本内容 */ label?: React.ReactNode; /** * 单独设置是否支持选中,覆盖Tree的selectable */ selectable?: boolean; /** * 单独设置是否支持编辑,覆盖Tree的editable */ editable?: boolean; /** * 单独设置是否支持拖拽,覆盖Tree的draggable */ draggable?: boolean; /** * 是否禁止节点响应 */ disabled?: boolean; /** * 是否禁止勾选节点复选框 */ disableCheckbox?: boolean; /** * 是否是叶子节点,设置loadData时生效 */ isLeaf?: boolean; } export class Node extends React.Component {} interface HTMLAttributesWeak extends React.HTMLAttributes { onSelect?: any; } export interface TreeProps extends HTMLAttributesWeak { /** * 样式类名的品牌前缀 */ prefix?: string; /** * 自定义类名 */ className?: string; /** * 自定义内联样式 */ style?: React.CSSProperties; /** * 树节点 */ children?: React.ReactNode; /** * 是否显示树的线 */ showLine?: boolean; /** * 是否支持选中节点 */ selectable?: boolean; /** * (用于受控)当前选中节点key的数组 */ selectedKeys?: Array; /** * (用于非受控)默认选中节点key的数组 */ defaultSelectedKeys?: Array; /** * 选中或取消选中节点时触发的回调函数 */ onSelect?: (selectedKeys: Array, extra: {}) => void; /** * 是否支持多选 */ multiple?: boolean; /** * 是否支持勾选节点的复选框 */ checkable?: boolean; /** * (用于受控)当前勾选复选框节点key的数组或`{checked: Array, halfChecked: Array}`的对象 */ checkedKeys?: Array | {}; /** * (用于非受控)默认勾选复选框节点key的数组 */ defaultCheckedKeys?: Array; /** * 勾选节点复选框是否完全受控(父子节点选中状态不再关联) */ checkStrictly?: boolean; /** * 是否启用勾选节点复选框的缓存来提高性能,如果dataSource需要被动态更新,请将其设置为false */ enableCheckedCache?: boolean; /** * 勾选或取消勾选复选框时触发的回调函数 */ onCheck?: (checkedKeys: Array, extra: {}) => void; /** * (用于受控)当前展开的节点key的数组 */ expandedKeys?: Array; /** * (用于非受控)默认展开的节点key的数组 */ defaultExpandedKeys?: Array; /** * 是否默认展开所有节点 */ defaultExpandAll?: boolean; /** * 是否自动展开父节点 */ autoExpandParent?: boolean; /** * 展开或收起节点时触发的回调函数 */ onExpand?: (expandedKeys: Array, extra: {}) => void; /** * 是否支持编辑节点内容 */ editable?: boolean; /** * 编辑节点内容完成时触发的回调函数 */ onEditFinish?: (key: string, label: string) => void; /** * 是否支持拖拽节点 */ draggable?: boolean; /** * 开始拖拽节点时触发的回调函数 */ onDragStart?: (info: {}) => void; /** * 拖拽节点进入目标节点时触发的回调函数 */ onDragEnter?: (info: {}) => void; /** * 拖拽节点在目标节点上移动的时候触发的回调函数 */ onDragOver?: (info: {}) => void; /** * 拖拽节点离开目标节点时触发的回调函数 */ onDragLeave?: (info: {}) => void; /** * 拖拽节点放入目标节点内或前后触发的回调函数 */ onDrop?: (info: {}) => void; /** * 节点是否可被作为拖拽的目标节点 */ canDrop?: (info: {}) => boolean; /** * 异步加载数据的函数 */ loadData?: (node: React.ReactElement) => void; /** * 按需筛选高亮节点 */ filterTreeNode?: (node: React.ReactElement) => boolean; /** * 右键点击节点时触发的回调函数 */ onRightClick?: (event: {}, node: React.ReactElement) => void; /** * 设置节点是否占满剩余空间,一般用于统一在各节点右侧添加元素(借助flex实现,暂时只支持ie10+) */ isLabelBlock?: boolean; /** * 是否开启展开收起动画 */ animation?: boolean; } export default class Tree extends React.Component { static Node: typeof Node; }