Ant Design级联选择器多选时,如何实现每一级都可以选中,并且输入框内只显示这一级
时间: 2024-01-27 09:03:36 浏览: 191
Ant Design级联选择器(Cascader)的多选功能可以通过设置`allowClear`和`showSearch`属性来实现。同时,为了让每一级都可以选中,需要将`changeOnSelect`属性设置为`true`。
要实现输入框内只显示这一级,需要通过自定义`displayRender`属性来实现。具体做法是,在`displayRender`函数中只返回当前选中的最后一级的label值。
以下是一个示例代码:
```
import React, { useState } from 'react';
import { Cascader } from 'antd';
const options = [
{
value: 'zhejiang',
label: 'Zhejiang',
children: [
{
value: 'hangzhou',
label: 'Hangzhou',
children: [
{
value: 'xihu',
label: 'West Lake',
},
],
},
],
},
{
value: 'jiangsu',
label: 'Jiangsu',
children: [
{
value: 'nanjing',
label: 'Nanjing',
children: [
{
value: 'zhonghuamen',
label: 'Zhong Hua Men',
},
],
},
],
},
];
function CustomCascader() {
const [value, setValue] = useState([]);
const displayRender = (labels) => {
return labels[labels.length - 1];
};
return (
<Cascader
options={options}
value={value}
onChange={(newValue) => setValue(newValue)}
allowClear
showSearch={{ filter }}
changeOnSelect
displayRender={displayRender}
/>
);
}
export default CustomCascader;
```
在上面的代码中,`displayRender`函数只返回了选中的最后一级的label值。这样就可以实现输入框内只显示这一级。同时,设置了`allowClear`和`showSearch`属性来实现多选功能,将`changeOnSelect`属性设置为`true`来实现每一级都可以选中。
阅读全文