在react+antd的Cascader级联选择多选中,可以使用Tag标签来展示已选中的选项。

具体实现步骤如下:

  1. 在Cascader组件中设置multiple属性为true,开启多选功能。

  2. 在Cascader的onSelect回调函数中,获取当前选中的值,并将其保存到一个数组中。

  3. 在Tag标签中遍历已选中的选项数组,并展示每个选项的名称和删除按钮。

  4. 在删除按钮的onClick事件中,调用Cascader的onChange方法,将当前选项从已选中的选项数组中删除,并重新设置Cascader的value值。

示例代码如下:

import React, { useState } from 'react';
import { Cascader, Tag } from 'antd';

const options = [
  {
    label: '北京',
    value: 'beijing',
    children: [
      {
        label: '海淀区',
        value: 'haidian',
      },
      {
        label: '朝阳区',
        value: 'chaoyang',
      },
    ],
  },
  {
    label: '上海',
    value: 'shanghai',
    children: [
      {
        label: '浦东新区',
        value: 'pudong',
      },
      {
        label: '徐汇区',
        value: 'xuhui',
      },
    ],
  },
];

const MultiCascader = () => {
  const [selectedOptions, setSelectedOptions] = useState([]);

  const handleCascaderChange = (value, selectedOptions) => {
    setSelectedOptions(selectedOptions);
  };

  const handleTagClose = (value) => {
    const newSelectedOptions = selectedOptions.filter(
      (option) => option.value !== value
    );
    setSelectedOptions(newSelectedOptions);
  };

  return (
    <div>
      <Cascader
        options={options}
        onChange={handleCascaderChange}
        placeholder="请选择"
        allowClear
        multiple
      />
      {selectedOptions.map((option) => (
        <Tag
          key={option.value}
          closable
          onClose={() => handleTagClose(option.value)}
        >
          {option.label}
        </Tag>
      ))}
    </div>
  );
};

export default MultiCascader;
``
react+antd的Cascader级联选择多选怎么展示

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

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