React 组件

UGSelect 选择器

从数据中选择一个或多个值,覆盖筛选、分组、清空、禁用、键盘操作和原生表单提交。

导入方式

按需从包入口导入组件,并在应用入口引入一次样式文件。

tsx
import { UGSelect } from '@ug666/ui-react'

基础选择

受控值保留选项原始类型,方向键、Home、End、Enter、Space 和字符检索均可操作。

当前值:draft

多选与数量限制

多选值使用数组;达到上限后保留已选项,并禁用其余候选项。

最多选择 3 项

筛选、分组与清空

筛选只改变候选列表;分组来自 option.group,清空会恢复未选择状态。

远程查询与加载

remoteMethod 只负责查询;默认防抖 300ms,中文输入法组合结束后才发起查询,结果和 loading 仍由应用控制。

弹层容器与裁剪

选项面板默认传送到 body,根据视口空间自动翻转与收拢,并在离场动画完成后卸载。

选项面板不会被当前容器裁剪

创建选项与默认高亮

输入不存在的内容后可直接创建;defaultFirstOption 让 Enter 选择当前首项。

多选折叠与值类型

折叠只改变展示;数字 1 与字符串“1”使用不同身份,不会错误互选。

当前类型:number

尺寸

尺寸由组件或 ConfigProvider 统一控制,宽度始终由外层布局决定。

状态与空数据

错误、帮助、禁用、无数据与无匹配结果使用各自明确的反馈。

模型列表加载失败(request id: 20260730063805111984525826)

原生表单

name、required 和 defaultValue 同步到原生 select;提交保持原始选项值,表单重置会恢复初始选择。

属性

属性类型默认值说明
optionsSelectOption[]必填选项数据;支持 disabled 与 group。
value / defaultValuestring | number | Array<string | number>受控值或非受控初始值;multiple 时使用数组。
multiplebooleanfalse开启多选模式。
multipleLimitnumber0多选数量上限;0 表示不限制。
clearablebooleanfalse有选择值时显示清空操作。
filterablebooleanfalse打开后提供选项筛选输入框。
filterMethod(query, option) => boolean标签包含查询词覆盖默认筛选规则。
remote / remoteMethod / remoteDebounceboolean / (query) => void | Promise<void> / numberfalse / — / 300由应用按查询词远程更新 options,并控制查询防抖毫秒数。
loading / loadingTextboolean / stringfalse / '加载中'显示异步加载状态和提示文案。
reserveKeywordbooleanfalse多选后保留当前筛选词。
allowCreate / defaultFirstOptionboolean / booleanfalse / false允许由筛选词创建选项,并控制回车时是否默认选择首项。
collapseTags / maxCollapseTags / collapseTagsTooltipboolean / number / booleanfalse / 1 / false折叠多选值,控制保留数量,并可通过原生提示查看隐藏项。
placeholderstring'请选择'未选择时的提示。
size'sm' | 'default' | 'lg'全局配置 / default选择器尺寸。
disabledboolean全局配置 / false禁用交互。
label / helperText / errorstring字段标签、帮助说明和错误反馈。
name / required原生 select 属性— / false参与原生表单提交与必填校验;提交值保持原始 string/number,不包含内部身份编码。
noDataText / noMatchTextstring暂无选项 / 没有匹配项空数据与无匹配结果文案。
teleported / appendToboolean / HTMLElement | stringtrue / document.body将选项面板传送到指定容器,避免被滚动区裁剪;默认包含视口翻转、边界收拢和完整离场动效。
onValueChange(value) => void选择值变化时触发,保留原始 string/number 类型。
onOpenChange / onClear回调展开状态变化与清空时触发。
原生属性 / refSelectHTMLAttributes / Ref<HTMLSelectElement>其余属性透传到用于表单提交的原生 select。