是的,Ant Design 的 TreeSelect 组件默认是单选的,并且不允许选择父节点。如果你想要实现多选功能,可以使用 Ant Design 提供的 Tree 组件,并结合 Checkbox 来实现多选功能。

以下是一个示例代码:

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

const { TreeNode } = Tree;

const data = [
  {
    title: 'Parent 1',
    key: 'parent1',
    children: [
      {
        title: 'Child 1',
        key: 'child1',
      },
      {
        title: 'Child 2',
        key: 'child2',
      },
    ],
  },
  {
    title: 'Parent 2',
    key: 'parent2',
    children: [
      {
        title: 'Child 3',
        key: 'child3',
      },
      {
        title: 'Child 4',
        key: 'child4',
      },
    ],
  },
];

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

  const onCheck = (checkedKeysValue) => {
    setCheckedKeys(checkedKeysValue);
  };

  const renderTreeNodes = (data) =>
    data.map((item) => {
      if (item.children) {
        return (
          <TreeNode title={item.title} key={item.key} dataRef={item}>
            {renderTreeNodes(item.children)}
          </TreeNode>
        );
      }
      return <TreeNode {...item} />;
    });

  return (
    <Tree checkable onCheck={onCheck} checkedKeys={checkedKeys}>
      {renderTreeNodes(data)}
    </Tree>
  );
};

export default TreeComponent;

在上面的示例中,我们使用了 Tree 组件,并添加了 Checkbox 来实现多选功能。通过使用onCheck回调函数来更新选中的节点列表。

Ant Design TreeSelect 多选和父节点选择解决方案

原文地址: https://www.cveoy.top/t/topic/qrl9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录