# ooui-react > OOUI 的 React 实现 ## 指南 - [使用方式](/ooui-react/guide/usage.md): ooui-react 的安装命令、运行环境与样式引入,以及在 MediaWiki 站点、Preact 兼容层下的使用方式。 - [OOUI 对照](/ooui-react/guide/ooui.md): 面向熟悉 OOUI 的使用者:心智模型映射、按原版类名找组件、能力舍弃清单、行为差异速查。 - [通用属性](/ooui-react/guide/basics.md): ooui-react 所有组件共有的属性规则:未声明属性透传到根元素、内部元素走 inputProps 一类通道,以及 disabled、flags、title、accessKey、tabIndex 的通用语义。 - [受控与非受控](/ooui-react/guide/controlled.md): ooui-react 的值契约:value、open、checked 三条通道,受控判定与回调签名,以及弹窗为受控 only 的约定。 - [选择与选项](/ooui-react/guide/options.md): Select 系组件共用的选项数据约定:value 与分组标题、children/label 文本、标签多选的 labelText 与 data、禁用下发、图标标志与键盘焦点模型。 - [全局配置](/ooui-react/guide/configuration.md): OOUIProvider 的全局配置:消息与国际化、浮层容器、移动端形态、文本方向、视口留白、快捷键文案,以及命令式弹窗的双通道。 ## 组件 - [组件总览](/ooui-react/components/index.md): ooui-react 的全部导出组件按控件、布局、弹窗、工具栏四族列出,附一句话用途;组件不自带样式,DOM 与原版 OOUI 一致。 - [Button 按钮](/ooui-react/components/button/index.md): Button 组件的属性说明:标签、图标、指示器、标志与边框形态、链接用法,以及点击、键盘与按压行为。 - [ToggleButton 切换按钮](/ooui-react/components/toggle-button/index.md): ToggleButton 组件的属性说明:在 Button 形态上叠加开/关状态,checked/defaultChecked/onChange 通道,aria-pressed 随状态输出,不支持链接形态。 - [ToggleSwitch 开关](/ooui-react/components/toggle-switch/index.md): ToggleSwitch 组件的属性说明:拨动开关(role=switch),checked/defaultChecked/onChange 通道,Space/Enter 切换,无自带标签,配 FieldLayout 使用。 - [ButtonGroup 按钮组](/ooui-react/components/button-group/index.md): ButtonGroup 组件的属性说明:把若干按钮并排成一组,视觉上连为一体,组级 disabled 一并下发到组内按钮。 - [Popup 浮层](/ooui-react/components/popup/index.md): Popup 组件的属性说明:锚定到容器并自动定位/翻转/裁剪的浮动面板,受控 open、点外部与 Escape 自动关闭、头部与底部区域;适合注解、Tooltip 等按需展示,按钮触发可用 PopupButton。 - [PopupButton 浮层按钮](/ooui-react/components/popup-button/index.md): PopupButton 组件的属性说明:点击按钮开合一个锚定到自身的浮层(Popup 的触发式封装),children 是按钮标签、popupContent 是浮层内容,内建点外部自动关闭。 - [Icon 图标](/ooui-react/components/icon/index.md): Icon 组件的属性说明与主题图标集索引:按原版分组列出全部可用图标,点击可复制图标名。 - [Indicator 指示器](/ooui-react/components/indicator/index.md): Indicator 组件的属性说明:up、down、clear、required 四种指示器,多为其它组件内嵌使用。 - [Label 标签](/ooui-react/components/label/index.md): Label 组件的属性说明:独立摆放的表单标签、htmlFor 关联原生控件、视觉隐藏与禁用态。 - [ProgressBar 进度条](/ooui-react/components/progress-bar/index.md): ProgressBar 组件的属性说明:0–100 的进度值、progress=false 的不定进度条纹形态,role=progressbar 的语义与范围钳制。 - [Message 消息](/ooui-react/components/message/index.md): Message 组件的属性说明:notice/error/warning/success 四种类型、内联形态、关闭按钮与 onClose 契约(组件不自隐,须在回调中卸载/隐藏)。 - [TextInput 文本输入](/ooui-react/components/text-input/index.md): TextInput 组件的属性说明:受控/非受控、类型白名单、标签与图标指示器、软校验,以及属性落点与 inputProps/inputRef 通道。 - [MultilineTextInput 多行输入](/ooui-react/components/multiline-text-input/index.md): MultilineTextInput 组件的属性说明:rows/maxRows 行数、autosize 自动高度、滚动条让位,以及与 TextInput 同源的标签、图标与软校验能力。 - [NumberInput 数字输入](/ooui-react/components/number-input/index.md): NumberInput 组件的属性说明:number | '' 值形态、按钮/键盘/滚轮步进、min/max/step 约束与软校验,以及与 TextInput 同源的标签、图标能力。 - [SearchInput 搜索输入](/ooui-react/components/search-input/index.md): SearchInput 组件的属性说明:搜索用单行输入框,缺省 search 图标、值非空且可编辑时出现可点击的清除指示器,其余能力与 TextInput 同源。 - [SearchWidget 搜索组件](/ooui-react/components/search-widget/index.md): SearchWidget 组件的属性说明:搜索框 + 常驻结果列表的组合;本组件不实现检索,查询变化经 onQueryChange 回调、由调用方填入 results,↑↓ 在结果间移动高亮、Enter 选定。 - [ComboBoxInput 组合框](/ooui-react/components/combo-box-input/index.md): ComboBoxInput 组件的属性说明:可自由输入的文本框 + 下拉候选菜单,选定写入文本但不限定取值;输入能力与 TextInput 同源,含键盘与选定语义、软校验与标签。 - [CheckboxInput 复选框](/ooui-react/components/checkbox-input/index.md): CheckboxInput 组件的属性说明:勾选态走 checked/defaultChecked/onChange,value 是表单提交值,含半选 indeterminate 与 inputId/inputRef 通道。 - [RadioInput 单选框](/ooui-react/components/radio-input/index.md): RadioInput 组件的属性说明:勾选态走 checked/defaultChecked/onChange,value 是表单提交值,同 name 的单选框天然互斥;无 indeterminate。 - [SelectFileInputWidget 文件选择](/ooui-react/components/select-file-input-widget/index.md): SelectFileInputWidget 组件的属性说明:文件集走 value/defaultValue/onChange 数组通道,accept 类型过滤,showDropTarget 拖放区形态(含缩略图)与 buttonOnly 仅按钮形态。 - [Select 选择列表](/ooui-react/components/select/index.md): Select 组件的属性说明:作为下拉/菜单内层的选择列表(listbox),可选中的选项集、onChange/onChoose 分工、命令菜单形态 clearOnChoose,以及键盘导航开关。 - [Dropdown 下拉选择](/ooui-react/components/dropdown/index.md): Dropdown 组件的属性说明:options 选项集、受控/非受控选中值、标签占位与图标,以及展开、键盘导航与前缀跳转行为。 - [OutlineSelect 大纲选择](/ooui-react/components/outline-select/index.md): OutlineSelect 组件的属性说明:带层级缩进的选择列表(Select 的大纲形态),options 每项以 level 表达缩进层级,整组可聚焦、方向键移动高亮。 - [TabSelect 页签选择](/ooui-react/components/tab-select/index.md): TabSelect 组件的属性说明:页签式单选(role=tablist),←→在页签间环绕直选,选中项滚动进视野,framed 控制带框/无框形态。 - [ButtonSelect 按钮选择](/ooui-react/components/button-select/index.md): ButtonSelect 组件的属性说明:一排互斥的按钮式选项(选中项即按钮激活态),方向键环绕直选,value/defaultValue/onChange 通道与带图标的 options。 - [ButtonMenuSelectWidget 命令菜单](/ooui-react/components/button-menu-select/index.md): ButtonMenuSelectWidget 组件的属性说明:由按钮触发的命令菜单(浮层菜单浮于按钮下方),每次选定回调 onChoose 并收起,clearOnSelect 决定是否保留选中态。 - [CheckboxMultiselect 复选组](/ooui-react/components/checkbox-multiselect/index.md): CheckboxMultiselect 组件的属性说明:复选组的 value/defaultValue/onChange 数组通道、Shift+点击范围选择、方向键焦点导航与禁用下发。 - [RadioSelect 单选组](/ooui-react/components/radio-select/index.md): RadioSelect 组件的属性说明:单选组(role=radiogroup),整组以方向键在选项间环绕移动并直接改选,value/onChange 通道与 options 选项集。 - [TagMultiselect 标签输入](/ooui-react/components/tag-multiselect/index.md): TagMultiselect 组件的属性说明:以标签(chip)呈现多值的输入框,支持自由输入、白名单与数量限制、拖拽重排、点击回填编辑;带候选菜单请用 MenuTagMultiselect。 - [MenuTagMultiselect 菜单标签输入](/ooui-react/components/menu-tag-multiselect/index.md): MenuTagMultiselect 组件的属性说明:带候选菜单的标签输入(TagMultiselect + 必填 options),输入即过滤菜单、↑↓/Enter 选定、点击切换标签;未开 allowArbitrary 时值域为 allowedValues 与 options 的并集。 - [ButtonInput 提交按钮](/ooui-react/components/button-input/index.md): ButtonInput 组件的属性说明:真实