本文へスキップ

Field

1 つのコントロールをラベル、説明、検証状態、エラーメッセージに関連付けます。

デモを読み込み中…

#インポート

github.com/egoist/quickgui/go/ui から ui をインポートします。

import (
	"github.com/egoist/quickgui/go/native"
	"github.com/egoist/quickgui/go/ui"
)

#使い方

func FieldExample() *ui.Element {
	email, setEmail := ui.CreateSignal("")
	field := ui.NewField(ui.FieldRootProps{Required: true, Filled: func() bool {
		return email() != ""
	}})
	return field.Root().Children(
		field.Label().Child("Email"),
		field.Control(ui.FieldControlProps{InputPartProps: ui.InputPartProps{Value: email, Placeholder: "you@example.com", OnInput: func(event *native.Event) {
			setEmail(event.Value)
		}}}),
		field.Description().Child("Used for receipts"),
		field.Error().Child("Enter a valid email address"),
	)
}

#構成

  • field.Root
  • field.Item
  • field.Label
  • field.Control
  • field.Validity
  • field.Description
  • field.Error

#API リファレンス

項目を展開すると説明と完全なシグネチャが表示されます。ダッシュは宣言に既定値が記載されていないことを示します。

ui.NewField(props ...FieldRootProps) *FieldComponent

NewField declares a Field instance. Optional props provide initial settings.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
Invalidfunc() bool—

Projects invalid state to the field and its parts.

func() bool
ソースを見る
Requiredbool—

Marks the control as required for validation and accessibility.

bool
ソースを見る
Touchedfunc() bool—

Whether the user has interacted with the field.

func() bool
ソースを見る
Dirtyfunc() bool—

Whether the field value has changed from its initial value.

func() bool
ソースを見る
Filledfunc() bool—

Whether the associated control contains a value.

func() bool
ソースを見る
ValidationMessagefunc() string—

Bounded message exposed to error content and accessibility.

func() string
ソースを見る
ValidationModestring—

Selects which interaction boundary triggers validation.

string
ソースを見る
ValidationDebounceTimeany—

Delay before deferred validation runs after an edit.

any
ソースを見る
OnValidationChangefunc(FieldValidationDetails, *native.Event)—

Reports the validation trigger and timing selected by the core.

func(FieldValidationDetails, *native.Event)
ソースを見る

Field.Disabled

ソースを見る
field.Disabled(value any) *FieldComponent

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

Field.Invalid

ソースを見る
field.Invalid(value any) *FieldComponent

Projects invalid state to the field and its parts.

Field.Required

ソースを見る
field.Required(value bool) *FieldComponent

Marks the control as required for validation and accessibility.

Field.Touched

ソースを見る
field.Touched(value any) *FieldComponent

Whether the user has interacted with the field.

field.Dirty(value any) *FieldComponent

Whether the field value has changed from its initial value.

Field.Filled

ソースを見る
field.Filled(value any) *FieldComponent

Whether the associated control contains a value.

Field.ValidationMessage

ソースを見る
field.ValidationMessage(value any) *FieldComponent

Bounded message exposed to error content and accessibility.

Field.ValidationMode

ソースを見る
field.ValidationMode(value string) *FieldComponent

Selects which interaction boundary triggers validation.

Field.ValidationDebounceTime

ソースを見る
field.ValidationDebounceTime(value any) *FieldComponent

Delay before deferred validation runs after an edit.

Field.OnValidationChange

ソースを見る
field.OnValidationChange(value func(FieldValidationDetails, *native.Event)) *FieldComponent

Reports the validation trigger and timing selected by the core.

field.Root() *Element

Configures root for this part. The declared type and source define the accepted value.

field.Label(options ...FieldLabelProps) *Element

Visible native SwiftUI control label.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
Passivebool—

Controls whether the surface is presented without activating its owner.

bool
ソースを見る

Field.Control

ソースを見る
field.Control(options ...FieldControlProps) *Element

Configures control for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
Typestring—

Input editing mode for this control.

string
ソースを見る
Valueany—

The current controlled value. Update application state from the change callback to accept a new value.

any
ソースを見る
Placeholderstring—

Hint displayed while the text value is empty.

string
ソースを見る
Multilinebool—

Allows multiple lines in the core text editor.

bool
ソースを見る
OnInputfunc(*native.Event)—

Receives edits from the text control. Write the new text into the controlled value.

func(*native.Event)
ソースを見る
OnChangefunc(*native.Event)—

Callback for change. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnSubmitfunc(*native.Event)—

Called when the control submits its current value.

func(*native.Event)
ソースを見る
ElementFieldControlElement—

Retained native element used by this component part.

FieldControlElement
ソースを見る

Field.Description

ソースを見る
field.Description(options ...PartProps) *Element

Configures description for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
field.Item(options ...PartProps) *Element

Configures item for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る

Field.Validity

ソースを見る
field.Validity(options ...FieldValidityProps) *Element

Configures validity for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
Visible*bool—

Whether the component is presented.

*bool
ソースを見る
field.Error(options ...PartProps) *Element

Configures error for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
part.Child(content).Style(style)

Every part returns a fluent element. Strings, numbers, elements, and deferred child factories compose directly.

ChildChild(child any) *Element—

Child appends content and returns this element. Content can be an element, native node, scalar, accessor, or node-returning construction callback.

Child(child any) *Element
ソースを見る
ChildrenChildren(children ...any) *Element—

Children appends multiple children in order without replacing existing content. It also accepts []any, []*Element, and []*native.Node slices as arguments. Read the retained child nodes through element.Node.Children.

Children(children ...any) *Element
ソースを見る
StyleStyle(style StyleBuilder) *Element—

Style merges a reusable style. Scalar accessors retain independent native bindings.

Style(style StyleBuilder) *Element
ソースを見る
OnClickOnClick(handler func()) *Element—

OnClick handles a click without an unused event parameter.

OnClick(handler func()) *Element
ソースを見る
RefRef(handler func(*native.Node)) *Element—

Ref exposes the native handle once at this point in the declaration chain.

Ref(handler func(*native.Node)) *Element
ソースを見る