UNPKG

rct-tree

Version:

A tree component based on ReactJS and Typescript.

87 lines (84 loc) 2.49 kB
import TreeConstructor from './treeConctructor' /** * @description rct-tree 组件向外暴露的参数 */ export interface ITreeParams { // 树形数据 treeData: ITreeNodeParams[] // 节点的高度 rowHeight: number // 树的可视高度,设置该属性表示使用虚拟渲染 height?: number // 是否显示checkbox多选框 showCheckBox?: boolean // 是否显示图标 showIcon?: boolean // 传入的自定义icon图标 icon?: IIcon // 是否自动展开所有节点 autoExpandAll?: boolean // 是否自动收起所有节点 autoCollapseAll?: boolean // treeData 数据为空时的文字提示 placeholder?: string // 单选/多选 multiple?: boolean // 点击节点时触发 onSelect?: (nodes: ITreeNodeParams[]) => void // 点击checkbox时触发 onCheck?: (nodes: ITreeNodeParams[]) => void // 展开和收起子列表时触发 onToggleExpand?: (nodes: ITreeNodeParams) => void } /** * @description TreeNode 树节点向外暴露的参数 */ export interface ITreeNodeParams { // 当前节点的id id?: number // 当前节点的父节点的id,最外层数据的id号为 -1 parent_id?: number // 当前节点的标题 title?: string // 当前节点所在层级 index?: number // 当前节点是否展开 expand?: boolean // 当前节点是否被选中 selected?: boolean // 当前节点的多选框是否被选中 checked?: boolean // 当前节点是否为半选状态 halfChecked?: boolean // 当前节点是否为禁用状态 disabled?: boolean // 当前节点是否被隐藏 hide?: boolean // 是否显示当前节点的checkbox showCheckBox?: boolean // 是否显示当前节点的icon showIcon?: boolean // 传入的自定义icon图标 icon?: IIcon // 当前节点 currentNode?: ITreeNodeParams // 当前节点的子节点 children?: ITreeNodeParams[] // 展开和收起子列表时触发 onToggleExpand?: (id: number) => void // 在当前节点下创建子节点时触发 onSelect?: (id: number) => void // 点击checkbox时触发 onCheck?: (id: number) => void // 当前节点是否为叶子节点 checkLeaf?: (id: number) => boolean } /** * @description 传入的自定义icon图标 */ export interface IIcon { // 非叶子节点的icon parent: React.ReactNode // 叶子节点的icon leaf: React.ReactNode }