UNPKG

cnd-components-mcp

Version:

An MCP service for Cnd components query | 一个减少 Cnd 组件代码生成幻觉的 MCP 服务,包含系统提示词、组件文档、API 文档、代码示例和更新日志查询

54 lines 24.1 kB
结构树也可简称为树,常用于表现树状信息结构的场景,分支可以展开或折叠,也可以提供单选、多选、异步加载等复杂功能。 | 参数 | 说明 | 类型 | 默认值 | 是否必填 | 支持版本 | | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | -------- | -------- | | children | 树节点 | `React.ReactNode` | - | | - | | dataSource | 数据源,该属性优先级高于 children | TreeDataType\[] | - | | - | | showLine | 是否显示树的线 | boolean | false | | - | | selectable | 是否支持选中节点 | boolean | false | | - | | selectedKeys | (用于受控)当前选中节点 key 的数组 | string\[] | - | | - | | defaultSelectedKeys | (用于非受控)默认选中节点 key 的数组 | string\[] | \[] | | - | | onSelect | 选中或取消选中节点时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*selectedKeys*: 选中节点key的数组<br/>*extra*: 额外参数<br/>**返回值**:<br/>空 | (<br/> selectedKeys: string\[],<br/> extra: {<br/> selectedNodes: Array\<NodeInstance>;<br/> node: NodeInstance;<br/> selected: boolean;<br/> event: `React.KeyboardEvent` | `React.MouseEvent`;<br/> }<br/> ) => void | () => {} | | - | | multiple | 是否支持多选 | boolean | false | | - | | checkable | 是否支持勾选节点的复选框 | boolean | false | | - | | checkedKeys | (用于受控)当前勾选复选框节点 key 的数组或 `{checked: Array, indeterminate: Array}` 的对象 | | {<br/> checked: string\[];<br/> indeterminate: string\[];<br/> }<br/> | string\[] | - | | - | | defaultCheckedKeys | (用于非受控)默认勾选复选框节点 key 的数组 | | {<br/> checked: string\[];<br/> indeterminate: string\[];<br/> }<br/> | string\[] | \[] | | - | | checkStrictly | 勾选节点复选框是否完全受控(父子节点选中状态不再关联) | boolean | false | | - | | checkedStrategy | 定义选中时回填的方式 | 'all' | 'parent' | 'child' | 'all' | | - | | onCheck | 勾选或取消勾选复选框时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*checkedKeys*: 勾选复选框节点key的数组<br/>*extra*: 额外参数<br/>**返回值**:<br/>空 | (<br/> checkedKeys: string\[],<br/> extra: {<br/> checkedNodes: Array\<NodeInstance>;<br/> checkedNodesPositions: Array\<NodeInstance>;<br/> indeterminateKeys: string\[];<br/> node: NodeInstance;<br/> checked: boolean;<br/> key: Key;<br/> }<br/> ) => void | () => {} | | - | | expandedKeys | (用于受控)当前展开的节点 key 的数组 | string\[] | - | | - | | defaultExpandedKeys | (用于非受控)默认展开的节点 key 的数组 | string\[] | \[] | | - | | defaultExpandAll | 是否默认展开所有节点 | boolean | false | | - | | autoExpandParent | 是否自动展开父节点 | boolean | true | | - | | onExpand | 展开或收起节点时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*expandedKeys*: 展开节点key的数组<br/>*extra*: 额外参数<br/>**返回值**:<br/>空 | (<br/> expandedKeys: string\[],<br/> extra: {<br/> node: NodeInstance;<br/> expanded: boolean;<br/> }<br/> ) => void | () => {} | | - | | editable | 是否支持编辑节点内容 | boolean | false | | - | | onEditFinish | 编辑节点内容完成时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*key*: 编辑节点 key<br/>*label*: 编辑节点完成时节点的文本<br/>*node*: 当前编辑的节点<br/>**返回值**:<br/>空 | (key: Key, label: string, node: NodeInstance) => void | () => {} | | - | | draggable | 是否支持拖拽节点 | boolean | false | | - | | onDragStart | 开始拖拽节点时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: {<br/> event: `React.MouseEvent`;<br/> node: NodeInstance;<br/> expandedKeys: string\[];<br/> }) => void | () => {} | | - | | onDragEnter | 拖拽节点进入目标节点时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: {<br/> event: `React.MouseEvent`;<br/> node: NodeInstance;<br/> expandedKeys: Array\<string>;<br/> }) => void | () => {} | | - | | onDragOver | 拖拽节点在目标节点上移动的时候触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: { event: `React.MouseEvent`; node: NodeInstance }) => void | () => {} | | - | | onDragLeave | 拖拽节点离开目标节点时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: { event: `React.MouseEvent`; node: NodeInstance }) => void | () => {} | | - | | onDragEnd | 拖拽节点拖拽结束时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: { event: `React.MouseEvent`; node: NodeInstance }) => void | () => {} | | - | | onDrop | 拖拽节点放入目标节点内或前后触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: {<br/> event: `React.MouseEvent`;<br/> node: NodeInstance;<br/> dragNode: NodeInstance;<br/> dragNodesKeys: Array\<string>;<br/> dropPosition: number;<br/> }) => void | () => {} | | - | | canDrop | 节点是否可被作为拖拽的目标节点<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>是否可以被当作目标节点 | (info: {<br/> event?: `React.MouseEvent`;<br/> node: NodeInstance;<br/> dragNode: NodeInstance;<br/> dragNodesKeys: Array\<string>;<br/> dropPosition: number;<br/> }) => boolean | () => {} | | - | | loadData | 异步加载数据的函数<br/><br/>**签名**:<br/>**参数**:<br/>*node*: 被点击展开的节点 | (node: NodeInstance) => Promise\<unknown> | - | | - | | filterTreeNode | 按需筛选高亮节点<br/><br/>**签名**:<br/>**参数**:<br/>*node*: 待筛选的节点<br/>**返回值**:<br/>是否被筛选中 | (node: NodeInstance) => boolean | - | | - | | onRightClick | 右键点击节点时触发的回调函数<br/><br/>**签名**:<br/>**参数**:<br/>*info*: 额外参数<br/>**返回值**:<br/>空 | (info: { event: `React.MouseEvent`; node: NodeInstance }) => void | () => {} | | - | | isLabelBlock | 设置节点是否占满剩余空间,一般用于统一在各节点右侧添加元素(借助 flex 实现,暂时只支持 ie10+) | boolean | false | | - | | isNodeBlock | 设置节点是否占满一行 | boolean | Record\<string, unknown> | false | | - | | animation | 是否开启展开收起动画 | boolean | true | | - | | focusedKey | 当前获得焦点的子菜单或菜单项 key 值 | Key | - | | - | | renderChildNodes | 渲染子节点<br/><br/>**签名**:<br/>**参数**:<br/>*nodes*: 所有的子节点<br/>**返回值**:<br/>子节点 | (nodes: NodeElement\[]) => `React.ReactNode` | - | | - | | labelRender | 渲染单个子节点<br/><br/>**签名**:<br/>**参数**:<br/>*node*: 节点数据<br/>**返回值**:<br/>返回节点 | (node: Record\<string, unknown>) => `React.ReactNode` | - | | 1.25 | | immutable | 是否是不可变数据 | boolean | false | | 1.23 | | useVirtual | 是否开启虚拟滚动 | boolean | false | | - | | 参数 | 说明 | 类型 | 默认值 | 是否必填 | | ---------------- | ---------------------------------------------- | --------------- | ------ | -------- | | children | 树节点 | `React.ReactNode` | - | | | label | 节点文本内容 | `React.ReactNode` | '-- | | | selectable | 单独设置是否支持选中,覆盖 Tree 的 selectable | boolean | - | | | checkable | 单独设置是否出现复选框,覆盖 Tree 的 checkable | boolean | - | | | editable | 单独设置是否支持编辑,覆盖 Tree 的 editable | boolean | - | | | draggable | 单独设置是否支持拖拽,覆盖 Tree 的 draggable | boolean | - | | | disabled | 是否禁止节点响应 | boolean | false | | | checkboxDisabled | 是否禁止勾选节点复选框 | boolean | false | | | isLeaf | 是否是叶子节点,设置loadData时生效 | boolean | - | |