SelectMenu
在可搜索的弹出列表中选择项目。
实时预览
参数配置
全部字段 36
SelectMenuItems
列表项 · 3
ListboxItem
ListboxItem
ListboxItem
SelectMenuOptions
Go 代码
// Inside a view; c is *ui.Context, t is nui.Theme.
// Keep s (example state) outside the view. See the complete example.
nui.SelectMenu(c.Key("select"), t, &s.Values, &s.Menu, []nui.ListboxItem{{ID: "go", Label: "Go", Description: "Native applications"}, {ID: "rust", Label: "Rust", Description: "Systems programming"}, {ID: "typescript", Label: "TypeScript", Description: "Web applications"}}, nui.SelectMenuOptions{ListboxOptions: nui.ListboxOptions{Label: "Languages", Multiple: false, Disabled: false}, Placeholder: "Type something…", SearchInput: nui.Optional[bool]{}, Clearable: true, Loading: false, Color: nui.ColorDefault, Size: nui.SizeDefault, Variant: nui.VariantDefault})使用说明
展开菜单搜索并选择语言,试试多选、搜索开关和加载状态。示例同时保存所选 ID 与 SelectMenu 状态;清空操作不会重新创建选项数据。
API 参考
SelectMenu
源码func SelectMenu(c *ui.Context, t Theme, value *[]string, s *SelectMenuState, items []ListboxItem, o SelectMenuOptions) ui.ElementSelectMenuOptions
源码type SelectMenuOptions struct {
ListboxOptions
Color Color
Variant Variant
Size Size
SearchInput Optional[bool]
ResetSearchTermOnBlur, ResetSearchTermOnSelect Optional[bool]
Placeholder string
Invalid bool
ErrorMessage string
SearchPlaceholder string
Clearable, Loading, ExternalFilter bool
Error string
OnQuery func(string)
OnCreate func(string)
FilterFields []string // label (default), description, value/id, group.
CreateWhenAlways, CreateAtTop bool
Popup PopoverOptions
}| 字段 | 类型 | 说明 |
|---|---|---|
Build | func(*ui.Context, Theme, ListboxItem)Go 零值: | 同步构建当前项目的视觉内容。 |
Label | stringGo 零值: | 控件标签或可访问名称。 |
EmptyText | stringGo 零值: | 没有可显示数据时的文案。 |
Multiple | boolGo 零值: | 允许选择多个项目。 |
Disabled | boolGo 零值: | 禁用组件及其交互。 |
Height | float32Go 零值: | 高度,单位为 DIP。 |
Orientation | Optional[Orientation]Go 零值: | 水平或垂直方向;未设置时使用组件默认方向。 |
ItemWidth | float32Go 零值: | 横向列表项的宽度。 |
Loop | boolGo 零值: | 键盘导航到边界时循环。 |
HighlightOnHover | Optional[bool]Go 零值: | 悬停时高亮列表项。 |
SelectionBehavior | SelectionBehaviorGo 零值: | 控制列表选择的切换或替换策略。 |
OnChange | func([]string)Go 零值: | 值发生变化时通知应用的回调。 |
OnSelect | func(string)Go 零值: | 激活或选择项目时通知应用的回调。 |
UI | StylesGo 零值: | 以部件名称为键覆盖外观和间距。 |
Style | func(Slot, ui.Element)Go 零值: | 同步配置当前构建的部件;不要保留 Element。 |
Color | ColorGo 零值: | 语义颜色;默认值继承主题或组件配色。 |
Variant | VariantGo 零值: | 组件外观样式,支持范围取决于组件。 |
Size | SizeGo 零值: | 组件尺寸;默认值继承主题或组件尺寸。 |
SearchInput | Optional[bool]Go 零值: | 是否显示搜索框;未设置时使用组件默认策略。 |
ResetSearchTermOnBlur | Optional[bool]Go 零值: | 关闭或失焦时重置搜索词。 |
ResetSearchTermOnSelect | Optional[bool]Go 零值: | 选中项目后重置搜索词。 |
Placeholder | stringGo 零值: | 没有输入或选择时的占位文字。 |
Invalid | boolGo 零值: | 使用无效输入的视觉状态。 |
ErrorMessage | stringGo 零值: | 显式提供的错误说明。 |
SearchPlaceholder | stringGo 零值: | 搜索输入框的占位文字。 |
Clearable | boolGo 零值: | 显示清空操作或允许清除当前值。 |
Loading | boolGo 零值: | 显示加载状态;是否阻止操作由组件决定。 |
ExternalFilter | boolGo 零值: | 由应用提供已筛选结果。 |
Error | stringGo 零值: | 错误状态或错误说明。 |
OnQuery | func(string)Go 零值: | 搜索词变化时通知应用的回调。 |
OnCreate | func(string)Go 零值: | 请求创建项目时通知应用的回调。 |
FilterFields | []stringGo 零值: | 搜索时匹配的项目字段。 |
CreateWhenAlways | boolGo 零值: | 即使存在匹配项也提供创建操作。 |
CreateAtTop | boolGo 零值: | 将创建操作放在候选列表顶部。 |
Popup | PopoverOptionsGo 零值: | 候选弹层的配置。 |