InputMenu
输入搜索词并从候选项中选择。
实时预览
参数配置
全部字段 40
InputMenuItems
列表项 · 3
Option[string]
Option[string]
Option[string]
InputMenuOptions
列表项 · 0
Go 代码
// Inside a view; c is *ui.Context, t is nui.Theme.
// Keep s (example state) outside the view. See the complete example.
nui.InputMenu(c.Key("menu"), t, &s.Search, []nui.Option[string]{{Value: "go", Label: "Go"}, {Value: "rust", Label: "Rust"}, {Value: "typescript", Label: "TypeScript"}}, nui.InputMenuOptions{InputOptions: nui.InputOptions{Label: "Project name", Placeholder: "Type something…", Color: nui.ColorDefault, Size: nui.SizeDefault, Variant: nui.VariantDefault, Disabled: false, ReadOnly: false, Loading: false}, Multiple: false})使用说明
在输入框搜索语言并选择候选项,切换 multiple 体验多选。InputMenu 的持久状态同时管理搜索与选择;不要在每次视图构建时创建新状态。
API 参考
InputMenu
源码func InputMenu(c *ui.Context, t Theme, state *SearchState, options []Option[string], o InputMenuOptions) ui.ElementInputMenuOptions
源码type InputMenuOptions struct {
InputOptions
EmptyText string
Popup PopoverOptions
AllowCustom bool
Multiple, ExternalFilter bool
FilterFields []string // label, description, value; nil uses label.
Mode InputMenuMode
OpenOnClick, OpenOnFocus Optional[bool]
ResetSearchTermOnBlur, ResetSearchTermOnSelect Optional[bool]
OnValuesChange func([]string)
OnCreate func(string)
CreateWhenAlways bool
CreateAtTop bool
OnSelect func(string)
}| 字段 | 类型 | 说明 |
|---|---|---|
Label | stringGo 零值: | 控件标签或可访问名称。 |
Placeholder | stringGo 零值: | 没有输入或选择时的占位文字。 |
ErrorMessage | stringGo 零值: | 显式提供的错误说明。 |
Disabled | boolGo 零值: | 禁用组件及其交互。 |
ReadOnly | boolGo 零值: | 允许读取和选择内容,但禁止编辑。 |
Invalid | boolGo 零值: | 使用无效输入的视觉状态。 |
Password | boolGo 零值: | 遮蔽输入内容。 |
Clearable | boolGo 零值: | 显示清空操作或允许清除当前值。 |
ClearLabel | stringGo 零值: | 清空操作的可访问名称。 |
Color | ColorGo 零值: | 语义颜色;默认值继承主题或组件配色。 |
Variant | VariantGo 零值: | 组件外观样式,支持范围取决于组件。 |
Size | SizeGo 零值: | 组件尺寸;默认值继承主题或组件尺寸。 |
Leading | *ui.SVGGo 零值: | 内容前方的 SVG 图标。 |
Trailing | *ui.SVGGo 零值: | 内容后方的 SVG 图标。 |
Loading | boolGo 零值: | 显示加载状态;是否阻止操作由组件决定。 |
LoadingIcon | *ui.SVGGo 零值: | 覆盖默认加载图标。 |
Highlight | boolGo 零值: | 突出显示控件或选中项目。 |
MaxLength | intGo 零值: | 输入长度上限,原生文本以 UTF-16 单元计数;零表示不限。 |
OnChange | func(string)Go 零值: | 值发生变化时通知应用的回调。 |
OnSubmit | func(string)Go 零值: | 提交表单或输入时通知应用的回调。 |
OnClear | func()Go 零值: | 清空值时通知应用的回调。 |
UI | StylesGo 零值: | 以部件名称为键覆盖外观和间距。 |
Style | func(root, editor, leading, trailing ui.Element)Go 零值: | 同步配置当前构建的部件;不要保留 Element。 |
EmptyText | stringGo 零值: | 没有可显示数据时的文案。 |
Popup | PopoverOptionsGo 零值: | 候选弹层的配置。 |
AllowCustom | boolGo 零值: | 允许输入列表之外的值。 |
Multiple | boolGo 零值: | 允许选择多个项目。 |
ExternalFilter | boolGo 零值: | 由应用提供已筛选结果。 |
FilterFields | []stringGo 零值: | 搜索时匹配的项目字段。 |
Mode | InputMenuModeGo 零值: | 组件行为模式或主题明暗模式。 |
OpenOnClick | Optional[bool]Go 零值: | 点击输入框时打开候选列表。 |
OpenOnFocus | Optional[bool]Go 零值: | 输入框获得焦点时打开候选列表。 |
ResetSearchTermOnBlur | Optional[bool]Go 零值: | 关闭或失焦时重置搜索词。 |
ResetSearchTermOnSelect | Optional[bool]Go 零值: | 选中项目后重置搜索词。 |
OnValuesChange | func([]string)Go 零值: | 多选值变化时通知应用的回调。 |
OnCreate | func(string)Go 零值: | 请求创建项目时通知应用的回调。 |
CreateWhenAlways | boolGo 零值: | 即使存在匹配项也提供创建操作。 |
CreateAtTop | boolGo 零值: | 将创建操作放在候选列表顶部。 |
OnSelect | func(string)Go 零值: | 激活或选择项目时通知应用的回调。 |