You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React+Ant Design Tree组件:如何仅选中父节点而不选中子节点?

Ant Design Tree 父子节点独立选中配置方案

要实现「选中父节点时不自动选中子节点、子节点选中状态独立」的效果,核心是利用Ant Design Tree组件的checkStrictly属性:

  • 将checkStrictly设置为true,即可取消父子节点之间的选中联动逻辑,父节点选中不会触发子节点勾选,子节点选中也不会影响父节点的状态。

完整代码示例

import React, { useState } from 'react';
import { Tree } from 'antd';

const { TreeNode } = Tree;

const CustomTree = () => {
  const [checkedKeys, setCheckedKeys] = useState([]);

  const handleCheck = (keys) => {
    setCheckedKeys(keys);
  };

  return (
    <Tree
      checkable
      checkStrictly={true} // 关键配置:关闭父子选中联动
      checkedKeys={checkedKeys}
      onCheck={handleCheck}
    >
      <TreeNode title="父节点A" key="a">
        <TreeNode title="子节点A1" key="a1" />
        <TreeNode title="子节点A2" key="a2" />
      </TreeNode>
      <TreeNode title="父节点B" key="b">
        <TreeNode title="子节点B1" key="b1" />
        <TreeNode title="子节点B2" key="b2" />
      </TreeNode>
    </Tree>
  );
};

export default CustomTree;

额外说明

如果需要更复杂的联动逻辑(比如子节点全选时自动选中父节点,但父节点选中不波及子节点),可以在onCheck事件中手动处理checkedKeys,根据子节点的选中状态判断是否更新父节点的选中状态,但基础需求下checkStrictly即可满足要求。

内容的提问来源于stack exchange,提问作者Đỗ Duy Đoàn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:02:10