📅  最后修改于: 2023-12-03 15:19:44.545000             🧑  作者: Mango
React Suite 是一套开源的 UI 组件库,其中的 InputPicker 组件可用于从下拉菜单中选择一个选项,非常适用于表单中的数据填充。
在使用前,需要先安装 React 和 React Suite,并在项目中引入 CSS 样式文件。
npm install react react-dom rsuite --save
import React from 'react';
import { InputPicker } from 'rsuite';
import 'rsuite/dist/styles/rsuite-default.css'; // 引入默认样式
InputPicker 组件需要传入一组候选项和一个回调函数,以便在选定选项时触发。
<InputPicker
data={['Red', 'Orange', 'Yellow', 'Green', 'Blue']}
onChange={(value) => console.log(value)}
/>
除了 data 和 onChange 属性,InputPicker 还有很多可选属性,如设置菜单最大高度、允许多选等等。详见 官方文档。
对于复杂的场景,有时候只传入 data 和 onChange 属性是不够的。此时,我们可以通过 children 属性来进行更为细粒度的控制。
例如,我们可以将 InputPicker 的每一个 Option 包装成一个自定义的组件,来修改每个选项的显示方式以及事件处理。
<InputPicker onChange={onChange}>
{data.map((item) => (
<OptionComponent key={item.value} value={item.value} label={item.label} />
))}
</InputPicker>
const OptionComponent = ({ value, label }) => {
const handleClick = (event) => {
console.log(`selected: ${label}`);
};
return (
<div onClick={handleClick}>
<div>{label}</div>
<div>{value}</div>
</div>
);
};
除了 Option,InputPicker 还支持传入 Group 和 Divider 组件。
React Suite InputPicker 组件是一个实用性很强的 UI 组件,可以用于从下拉菜单中选择一个选项。它的易用性和扩展性都非常出色,非常适用于表单类的场景。