📅  最后修改于: 2023-12-03 15:04:49.584000             🧑  作者: Mango
React Suite 是一款基于 React 的 UI 组件库,它提供了众多高质量、易用的组件。本文将介绍 React Suite 中的下拉组件。
Dropdown 是 React Suite 中最常用的下拉组件之一,它可以用于选择单个或多个选项、输入关键字搜索选项等场景。下面是一个简单的使用示例:
import { Dropdown } from 'rsuite';
const options = [
{ label: 'Option 1', value: 'option1' },
{ label: 'Option 2', value: 'option2' },
{ label: 'Option 3', value: 'option3' },
];
function MyComponent() {
const [value, setValue] = useState(null);
return (
<Dropdown
value={value}
onChange={setValue}
data={options}
placeholder="Select an option"
/>
);
}
Dropdown 的 props 属性比较多,其中最常用的有:
value
: 选中的值。可以是单个值或数组,视 multiple
属性而定。onChange
: 值改变时的回调函数。data
: 下拉选项的数据。数据格式为 { label: string, value: any }[]
。placeholder
: 当没有选中项时的提示文字。除此之外,还可以设置下拉选项的高度、是否可搜索、是否可多选等参数,具体请参考官方文档。
SelectPicker 是一款比 Dropdown 更加专注于选择功能的下拉组件。它提供了分组、搜索、带标签的多选等功能,可以满足多数选择需求。下面是一个示例代码:
import { SelectPicker } from 'rsuite';
const data = [
{
label: 'Group 1',
value: [
{ label: 'Option 1', value: 'option1' },
{ label: 'Option 2', value: 'option2' },
],
},
{
label: 'Group 2',
value: [
{ label: 'Option 3', value: 'option3' },
{ label: 'Option 4', value: 'option4' },
],
},
];
function MyComponent() {
const [value, setValue] = useState(null);
return (
<SelectPicker
searchable={false}
cleanable={false}
data={data}
value={value}
onChange={setValue}
placeholder="Select an option"
style={{ width: 224 }}
/>
);
}
与 Dropdown 类似,SelectPicker 也具有多种参数可供设置,包括但不限于:
searchable
: 是否开启搜索功能。cleanable
: 是否显示清除按钮。data
: 选项数据,相比 Dropdown 多了一个分组的概念。数据格式为 { label: string, value: Array<{ label: string, value: any }> }[]
。value
: 选中的值。onChange
: 值改变时的回调函数。placeholder
: 提示文字。style
: 组件样式。除了以上两种下拉组件,React Suite 还提供了 AutoComplete、Cascader、CheckTree、MultiCascader 等多种下拉组件,可根据项目需求选择合适的组件。更多详细信息请查阅官方文档。