React Bootstrap logoReact Bootstrap

FormSelect

基础表单

基于 Bootstrap 5 的下拉选择框组件,为原生 select 元素提供自定义外观,支持大/小尺寸、多选、可见选项数量、禁用状态及有效/无效校验状态

Component Demo

Basic usage and examples of the FormSelect component

基础用法

尺寸

多选

添加 multiple 属性后,可按住 Ctrl(Windows)或 Cmd(macOS)键选择多个选项

可见选项数量

通过 htmlSize 属性控制下拉框在不展开时可见的选项数量

禁用状态

禁用的下拉选择框呈灰色外观且不可交互

校验状态

看起来不错!
请选择一个选项。

通过 isValid / isInvalid 属性应用 is-valid / is-invalid 校验样式,配合 FormFeedback 提供有效/无效反馈文本

交互演示

你选择了:typescript

API Documentation

Complete API reference for the FormSelect component

Props

属性名类型默认值描述
classNamestring-自定义类名
disabledboolean-是否禁用下拉选择框,禁用的控件不可聚焦且不参与表单提交
htmlSizenumber-原生 `select` 的 `size` 属性,控制在不展开时可见的选项数量,通常配合 `multiple` 使用
idstring-原生 `id` 属性,用于与 `label` 的 `htmlFor` 关联
isInvalidbooleanfalse是否应用无效状态样式(`is-invalid`),通常配合校验反馈使用
isValidbooleanfalse是否应用有效状态样式(`is-valid`)
multipleboolean-是否允许多选,多选时按住 Ctrl(Windows)或 Cmd(macOS)键选择多个选项
sizeFormSelectSize-下拉选择框尺寸,可选 `sm`、`lg`,对应 `form-select-sm`、`form-select-lg`
...restSelectHTMLAttributes<HTMLSelectElement>-根元素的所有原生属性(如 `value`、`defaultValue`、`onChange`、`required` 等)

Type Definitions

FormSelectProps

下拉选择框组件属性接口

export interface FormSelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
  htmlSize?: number;
  isInvalid?: boolean;
  isValid?: boolean;
  size?: FormSelectSize;
}

FormSelectSize

下拉选择框尺寸类型

export type FormSelectSize = 'lg' | 'sm';