组件总览
本组件库以 React 重实现 OOUI,组件按原版类层级分为控件、布局、弹窗、工具栏四族,合计 60 余个。
组件不自带样式,只输出与原版一致的 DOM 与 oo-ui-* 类名,使用前请先按使用方式引入 OOUI 样式表;所有组件共有的属性规则见通用属性与 ref。
控件
- Button 支持图标、指示器、标签与链接形态
- ToggleButton 可切换的按钮(按下/弹起)
- ToggleSwitch 开关
- ButtonGroup 把若干按钮排成一组,可统一禁用
- PopupButton 点击弹出浮层的按钮
- Popup 弹出浮层本身
- Label 独立文本标签
- Icon 图标
- Indicator 指示器(“展开”“必填”一类标记)
- ProgressBar 进度条
- Message 行内消息提示(含关闭按钮)
输入
- TextInput 单行文本输入 框
- MultilineTextInput 多行文本输入框
- NumberInput 数字输入框(带步进按钮)
- SearchInput 搜索输入框(带清空指示器)
- SearchWidget 查询输入框加常驻结果列表
- ComboBoxInput 可输入过滤也可下拉选择的组合框
- CheckboxInput 单个复选框
- RadioInput 单个单选框
- SelectFileInputWidget 文件选择(含拖放区形态)
选择
选项数据的书写约定(value、分组标题、标签多选的 label/labelText/data)见选择与选项。
- Select 选择列表(下拉/菜单的内层)
- Dropdown 下拉选择
- OutlineSelect 带层级缩进的选择列表
- TabSelect 页签式选择
- ButtonSelect 按钮式选择
- ButtonMenuSelectWidget 按钮触发的命令菜单
- CheckboxMultiselect 复选组
- RadioSelect 单选组
- TagMultiselect 标签输入(自由输入)
- MenuTagMultiselect 标签输入(带候选菜单)
表单提交
随 <form> 原生提交的一组字段控件,配合 FormLayout 使用。
- ButtonInput 提交按钮
- DropdownInput 下拉选择字段
- CheckboxMultiselectInput 复选组字段
- RadioSelectInput 单选组字段
- HiddenInputWidget 随表单提交但不显示的字段
布局
- Layout 布局基类
- PanelLayout 带内边距的面板
- PageLayout 页面整体布局
- StackLayout 堆叠面板,一次显示一个
- BookletLayout 带页签的多面板(手册式)
- IndexLayout 带索引区与搜索的多面板
- TabPanelLayout 单个页签面板
- FieldLayout 带标签与提示的字段包装
- FieldsetLayout 字段分组(可统一禁用)
- ActionFieldLayout 字段加随行按钮
- FormLayout 表单容器
- HorizontalLayout 横向排列若干元素
- MenuLayout 菜单整体布局
- CopyTextLayout 只读文本框加复制按钮
弹窗
- Dialog 弹窗基类(受控 open)
- MessageDialog 消息弹窗(确定/取消)
- ProcessDialog 带多步流程与错误面板的弹窗
confirm/alert/prompt命令式弹窗(不依赖 React 树)
工具栏
- Toolbar 工具栏容器
- BarToolGroup 按钮式工具组
- ListToolGroup 列表式工具组
- MenuToolGroup 菜单式工具组
- LabelToolGroup 工具栏内的静态标签组