Skip to main content

Information input components

This article describes components in Components Library > Information Input.

Cascader Select

The Cascader Select component provides a cascading dropdown for selecting values from a hierarchical dataset. It supports searching, multiple selection, and configurable trigger behaviour. In the App Designer, select this component on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Cascader Select.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Labeli18n setter-Sets a label displayed alongside the component. Supports internationalisation.
SizeRadio group (Small | Medium | Large)MediumSets the overall size of the component.
Placeholderi18n setterPlease selectSets the placeholder text shown when no value is selected. Supports internationalisation.
Default valueSwitch Setter (Array setter / i18n setter / Variable input)-Sets the initial selected value for uncontrolled usage. Supports internationalisation.
ValueSwitch Setter (Array setter/ i18n setter / Variable input)-Sets the current selected value for controlled usage. Supports internationalisation.
DatasourceSwitch Setter (JSON setter / MasterCode setter / Variable input)-Defines the hierarchical data for the cascading options.
DisabledToggle switchOffControls whether the component is in a disabled state, preventing user interaction.
Show arrowToggle switchOnControls whether the dropdown arrow indicator is displayed.
Show borderToggle switchOnControls whether the component has a visible border.
Allow clearingToggle switchOffWhen enabled, displays a clear button to remove the current selection.
Read onlyToggle switchOffWhen enabled, prevents the user from changing the selection while still displaying it.
Allow multiple selectToggle switchOffWhen enabled, allows the user to select multiple values.
Allow searchingToggle switchOffWhen enabled, displays a search input for filtering options.
Preview modeToggle switchOffWhen enabled, the component switches from an interactive dropdown to a read-only preview state. Instead of the Cascader Select, the selected values are displayed as static text (labels separated by commas). Users cannot open the dropdown or change selections while this mode is active. This applies to both single and multiple selection modes.
Trigger typeRadio group (Click | Hover)ClickSpecifies whether the dropdown opens on click or on hover.
Empty value contentSwitch Setter (i18n setter / Slot setter / Variable input)No optionsSets the text displayed when no options match. Supports internationalisation.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Cascader Select without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Cascader Select's supported events:

    • onChange — Triggered when the selected value changes
    • onExpand — Triggered when a cascading panel is expanded
    • onVisibleChange — Triggered when the dropdown visibility changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the selected value:

onChange(value) {
// value: the newly selected value
}

The onExpand handler receives the expanded value:

onExpand(value) {
// value: the value of the expanded node
}

The onVisibleChange handler receives the new visibility state:

onVisibleChange(visible) {
// visible: true when the dropdown opens, false when it closes
}

Advanced

For more information, refer to Advanced.

Cascader

The Cascader component displays an inline cascading panel set for selecting values from a multi-level data hierarchy. In the App Designer, select a Cascader on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Cascader.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
DatasourceSwitch Setter (JSON setter / MasterCode setter / Variable input)-Defines the hierarchical data for the cascading panels.
Trigger typeRadio group (Click | Hover)ClickSpecifies whether child panels expand on click or on hover.
Virtual scrollingToggle switchOffWhen enabled, uses virtual rendering for large datasets to improve performance. This needs to be used in conjunction with the width setting in List Style.
List styleJSON setter-Sets custom CSS style properties for the dropdown panels.
Allow multiple selectToggle switchOffWhen enabled, allows the user to select multiple leaf-node values.
Can only select leaf nodeToggle switchOffWhen enabled, restricts selection to leaf nodes only.
Can only check leaf nodeToggle switchOffWhen enabled, restricts checkbox selection to leaf nodes only.
Check strictlyToggle switchOffWhen enabled, checking a parent node does not automatically check or uncheck its children.
Allow load dataToggle switchOffWhen enabled, allows dynamic loading of child nodes on demand.
Load data asynchronouslyFunction Binding-Defines a function to load child nodes asynchronously. Only visible when Allow load data is enabled.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Cascader without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Cascader's supported events:

    • onChange — Triggered when the selected value changes
    • onSelect — Triggered when a node is selected
    • onExpand — Triggered when a node is expanded to reveal its children
    • onBlur — Triggered when the component loses focus
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the selected value and data item:

onChange(value, data) {
// value: the selected value path array
// data: the selected data item
}

The onSelect and onExpand handlers receive the selected or expanded value:

onSelect(value, data) { }
onExpand(value) { }

The onBlur handler receives the blur event:

onBlur(event) { }

Advanced

For more information, refer to Advanced.

Checkbox

The Checkbox component is a single selectable toggle that allows the user to independently check or uncheck a value. It supports a half-selected (indeterminate) state and externally controlled selection. In the App Designer, select a Checkbox on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Checkbox.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Titlei18n setterCheck OptionSets the label text displayed next to the checkbox. Supports internationalisation.
Half selected stateToggle switchOffWhen enabled, renders the checkbox in an indeterminate (half-selected) state.
DisabledToggle switchOffControls whether the checkbox is in a disabled state, preventing user interaction.
External control selectedToggle switchOffWhen enabled, the checked state is controlled externally via the Selected status property.
Selected statusToggle switch-Sets the checked state of the checkbox. Only visible when External control selected is enabled.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Checkbox without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Checkbox's supported events:

    • onChange — Triggered when the checked state changes
    • onMouseEnter — Triggered when the pointer enters the checkbox area
    • onMouseLeave — Triggered when the pointer leaves the checkbox area
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new checked state:

onChange(checked) {
// checked: true when checked, false when unchecked
}

The onMouseEnter and onMouseLeave handlers receive the corresponding DOM event:

onMouseEnter(event) { }
onMouseLeave(event) { }

Advanced

For more information, refer to Advanced.

Checkbox Group

The Checkbox Group component renders a set of related checkboxes that share a value array. It supports horizontal or vertical alignment, a datasource for option generation, and both controlled and uncontrolled value modes. In the App Designer, select a Checkbox Group on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Checkbox Group.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group | Radio Group)Checkbox GroupSwitches the component to a different input type. The current component is replaced with the selected type.
DisabledToggle switchOffControls whether all checkboxes in the group are in a disabled state.
AlignmentRadio group (Horizontal | Vertical)-Sets the layout direction of the checkbox items.
Preview modeToggle switchOffWhen enabled, renders the checkbox group in a read-only preview state.
Default valueJSON setter-Sets the initially selected values for uncontrolled usage.
ValueJSON setter-Sets the current selected values for controlled usage.
OptionSwitch Setter (MasterCode setter / Array setter / Variable input)Auto-generatedDefines the list of checkbox options. See Option item configuration.

Option item configuration

Each option in the Option array editor has the following properties:

PropertyUI ControlDefaultDescription
Labeli18n setterAuto-generatedSets the display text of the checkbox option. Supports internationalisation.
ValueText inputAuto-generatedSets the value associated with the checkbox option.
DisabledToggle switchOffControls whether the individual checkbox option is in a disabled state.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an option, or use the grip icon to reorder options. Click "Add an item +" to add a new option.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Checkbox Group without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Checkbox Group's supported events:

    • onChange — Triggered when the selected values change
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new array of selected values:

onChange(value) {
// value: array of currently selected values
}

Advanced

For more information, refer to Advanced.

DatePicker

The DatePicker component provides a date selection field with a calendar popup. It supports configurable date formats, validation states, optional time selection, and selectable date disabling. In the App Designer, select a DatePicker on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the DatePicker.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group | Radio Group)DatePickerSwitches the component to a different input type. The current component is replaced with the selected type.
Labeli18n setter-Sets a label displayed alongside the date picker. Supports internationalisation.
StateRadio group (Success | Loading | Error)-Sets the validation state of the component, applying a corresponding visual indicator.
Placeholderi18n setterSelect dateSets the placeholder text shown when no date is selected. Supports internationalisation.
Date valueDate setter-Sets the current selected date for controlled usage.
Default valueDate setter-Sets the initial selected date for uncontrolled usage.
Date formatText inputYYYY-MM-DDSets the display format for the selected date.
Date output formatText input-Sets the format of the date value returned by the component.
SizeRadio group (Small | Medium | Large)MediumSets the overall size of the date picker.
DisabledToggle switchOffControls whether the date picker is in a disabled state.
Disabled dateFunction Binding-Defines a function to disable specific dates in the calendar. Refer to Disabled date function.
Show timeToggle switchOffWhen enabled, adds a time selector to the date picker and reveals the Time settings subsection. Part of the Time configuration collapsible section.
Allow clearingToggle switchOffWhen enabled, displays a clear button to remove the selected date. Part of the Time configuration collapsible section.
Auto openToggle switchOffWhen enabled, the calendar popup opens automatically when the component mounts. Part of the Time configuration collapsible section.

Time settings

When the Show time toggle is switched on, a Time settings subsection appears with the following properties:

PropertyUI ControlDefaultDescription
Time formatDropdown (HH:mm:ss | HH:mm | HH:ss | mm:ss | HH | mm | ss)HH:mm:ssSets the display format of the time selector.
Time default valueTime setter-Sets the default time value in the time selector.
Time hour stepNumber input-Sets the interval between selectable hour values.
Time minute stepNumber input-Sets the interval between selectable minute values.
Time seconds stepNumber input-Sets the interval between selectable second values.

Disabled date function

The Disabled date function accepts the following signature:

disabledDate(date, mode) {
return false;
}

Return true to disable a specific date.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the DatePicker without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the DatePicker's supported events:

    • onChange — Triggered when the selected date changes
    • onOk — Triggered when the user confirms the selection
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the selected date value:

onChange(value) {
// value: the selected date as a Dayjs object or string
}

The onOk handler receives the confirmed date value:

onOk(value) {
// value: the confirmed date
}

Advanced

For more information, refer to Advanced.

RangePicker

The RangePicker component provides a pair of date fields for selecting a start and end date. It supports configurable date formats, date type granularity (date, month, or year), optional time selection, and selectable date disabling. In the App Designer, select a RangePicker on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the RangePicker.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Default valueSwitch Setter (Object setter / Variable input)-Sets the initial start and end dates for uncontrolled usage. Each field uses a date setter.
Start timeDate setter-Sets the initial start date within the Default value object.
End timeDate setter-Sets the initial end date within the Default value object.
Date output formatText input-Sets the format of the date values returned by the component.
Date typeRadio group (Date | Month | Year)DateSets the granularity of date selection.
Labeli18n setter-Sets a label displayed alongside the range picker. Supports internationalisation.
SizeRadio group (Small | Medium | Large)MediumSets the overall size of the range picker.
DisabledToggle switchOffControls whether the range picker is in a disabled state.
Disabled dateFunction Binding-Defines a function to disable specific dates in the calendars. Refer to Disabled date function.
Allow clearingToggle switchOffWhen enabled, displays a clear button to remove the selected date range.
Auto openToggle switchOffWhen enabled, the calendar popup opens automatically when the component mounts.
Show timeToggle switchOffWhen enabled, adds time selectors to both date fields and reveals the Time settings subsection.

Time settings

When the Show time toggle is switched on, a Time settings subsection appears. The available properties are the same as those time settings under DatePicker.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the RangePicker without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the RangePicker's supported events:

    • onChange — Triggered when the selected date range changes
    • onOk — Triggered when the user confirms the selection
    • onVisibleMonthChange — Triggered when the visible calendar month changes
    • onVisibleChange — Triggered when the calendar popup visibility changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the formatted date strings and date objects:

onChange(value) {
// value: array of [startDate, endDate]
}

The onOk handler receives the confirmed values:

onOk(value) {
// value: array of confirmed [startDate, endDate]
}

The onVisibleMonthChange and onVisibleChange handlers each receive the relevant value:

onVisibleMonthChange(value, reason) { }
onVisibleChange(visible) { }

Advanced

For more information, refer to Advanced.

Download

The Download component renders a button that triggers a file download when clicked. It supports optional confirmation prompts before the download is initiated. In the App Designer, select a Download on the canvas to configure it through three tab pages in the Settings panel: Props, Styles, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Download.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
URLText input-Sets the URL of the file to download.
File nameText input-Sets the name of the downloaded file.
IconIcon selector-Sets an icon displayed on the download button.
Labeli18n setterDownloadSets the text displayed on the download button. Supports internationalisation.
TextToggle switchOffWhen enabled, renders the button as a text-only button with no border or background.
Enable confirmationToggle switchOffWhen enabled, displays a confirmation dialogue before triggering the download.
Confirmation titlei18n setterConfirmSets the title of the confirmation dialogue. Only visible when Enable confirmation is enabled. Supports internationalisation.
Confirmation contenti18n setterAre you sure you want to export?Sets the body text of the confirmation dialogue. Only visible when Enable confirmation is enabled. Supports internationalisation.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Advanced

For more information, refer to Advanced.

Form Template

The Form Template component is a container for form fields. It manages field layout, value binding, form submission, and validation. In the App Designer, select a Form Template on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Form Template.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
InlineToggle switchOffWhen enabled, renders form fields in a horizontal inline layout.
Full widthToggle switchOffWhen enabled, makes the form occupy the full width of its container.
Preview modeToggle switchOffWhen enabled, renders all child form fields in read-only preview mode.
ActionText input-Sets the form action URL, equivalent to the HTML action attribute.
MethodDropdown (Get | Post)-Sets the HTTP method used when the form is submitted.
FieldExpression-Binds an external Field instance for programmatic form control.
ValueJSON setter-Sets the current values of the form fields as a key-value object.
SizeRadio group (Large | Medium | Small)MediumSets the size inherited by all child form components.
AlignmentRadio group (Top | Inset | Left)LeftSets the position of labels relative to their input fields.
Text alignmentRadio group (Right | Left)-Sets the horizontal alignment of label text.
preventDefaultToggle switchOffWhen enabled, prevents the default browser form submission behaviour.
ResponsiveToggle switchOffWhen enabled, the form layout adapts to the available container width. Part of the Layout collapsible section.
Label columnSwitch Setter (Object setter / Variable input){"span":4,"offset":0}Sets the label column width. In Object setter mode, configures grid span and offset values, where each sub-field supports variable binding. In Variable input mode, accepts a bound expression. Part of the Layout collapsible section.
Wrapper columnSwitch Setter (Object setter / Variable input){"span":14,"offset":0}Sets the input wrapper column width. In Object setter mode, configures grid span and offset values, where each sub-field supports variable binding. In Variable input mode, accepts a bound expression. Part of the Layout collapsible section.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Form Template without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Form Template's supported events:

    • saveField — Triggered when the form mounts, providing access to the Field instance
    • onChange — Triggered when any form field value changes
    • onSubmit — Triggered when the form is submitted
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The saveField handler receives the Field instance:

saveField(field) {
// field: the Field instance for programmatic access to form values and validation
}

The onChange handler receives the updated values and the changed field descriptor:

onChange(value, item) {
// value: the updated form values object
// item: the changed field descriptor
}

The onSubmit handler receives the submit event:

onSubmit(event) {
// Handle form submission
}

Advanced

For more information, refer to Advanced.

Form Item

The Form Item component wraps a single form field, providing the field label, validation rules, layout control, and an optional tooltip. It supports comprehensive validation including mandatory fields, value ranges, string lengths, format patterns, and custom logic. In the App Designer, select a Form Item on the canvas to configure it through three tab pages in the Settings panel: Props, Styles, and Advanced.

Props

The Props tab contains the structural and validation properties of the Form Item.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Labeli18n setterForm Item:Sets the label text displayed alongside the form field. Supports internationalisation.
Help infoi18n setter-Sets additional hint text displayed below the form field. If not set, hint text is generated automatically from validation rules. Supports internationalisation.
Extra infoi18n setter-Sets supplementary text displayed below the field and help text. Supports internationalisation.
Value namei18n setter-Sets the prop name used to read the value from the child element. Supports internationalisation.
Triggeri18n setter-Sets the event name that triggers validation on the child element. Supports internationalisation.
Validation stateRadio group (Error | Success | Loading | Warning | Default)-Manually sets the validation state. If not set, the state is derived automatically from validation rules.
Has feedbackToggle switchOffWhen enabled, displays success or loading state icons alongside the field.
SizeRadio group (Small | Medium | Large)-Sets the size applied to the child form component. Also propagates to child components when changed.
Label positionRadio group (Top | Left | Inset)LeftSets the position of the label relative to the input field.
Label alignmentRadio group (Left | Right)LeftSets the horizontal alignment of the label text.
Full widthToggle switchOffWhen enabled, the child form component stretches to 100% of the Form Item width.
Preview modeToggle switchOffWhen enabled, renders the child component in read-only preview mode.
Auto validateToggle switchOffWhen enabled, validation is triggered automatically whenever the field value changes.
Have tooltipToggle switchOffWhen enabled, displays a tooltip icon next to the label and reveals the Tooltip subsection.

Tooltip

When the Have tooltip toggle is switched on, a Tooltip subsection appears with the following properties:

PropertyUI ControlDefaultDescription
IconIcon selectoriconic_error2Sets the icon displayed in the tooltip.
Icon sizeDropdown (XXS | XS | Small | Medium | Large | XL | XXL | XXXL | Inherit)SmallSets the size of the tooltip icon.
Valuei18n setter-Sets the text content of the tooltip. Supports internationalisation.
PlacementDropdown (Top | Right | Bottom | Left | Top-left | Top-right | Bottom-left | Bottom-right | ...)-Sets the position of the tooltip popup relative to the icon.
Trigger typeRadio group (Hover | Click)-Sets whether the tooltip appears on hover or click.
Follow triggerToggle switchOnWhen enabled, the tooltip popup follows the trigger element on scroll.

Validation

For more information on the Validation collapsible section, refer to Validation section.

Layout

The Layout collapsible section configures column span within a responsive grid:

PropertyUI ControlDefaultDescription
Col spanNumber input12Sets how many grid columns this Form Item occupies.
Label columnSwitch Setter (Object setter / Variable input){"span":4,"offset":0}Sets the label column layout within this Form Item. When using the Object setter, the Span and Offset sub-properties are displayed as number inputs. When using Variable input, you can bind the entire label column configuration to a variable.
Wrapper columnSwitch Setter (Object setter / Variable input){"span":14,"offset":0}Sets the input wrapper column layout within this Form Item. When using the Object setter, the Span and Offset sub-properties are displayed as number inputs. When using Variable input, you can bind the entire wrapper column configuration to a variable.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Advanced

For more information, refer to Advanced.

Submit button

The Submit button is a form-specific variant of the Button component, designed to submit and validate form data. It is typically placed inside a Form.Item within a Form. In the App Designer, select a Submit button on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the main visual and behavioural properties of the Submit button.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
DisabledToggle switchOffControls whether the button is in a disabled state, preventing user interaction.
IconIcon selector-Sets an icon for the button. Click the selector to browse and choose an icon from the icon library. Click the clear (X) button to remove the selected icon.
Icon positionRadio group (Left | Right)-Controls the position of the icon relative to the button text.
Labeli18n setterSubmitSets the text displayed on the button. Supports internationalisation.
TypeDropdown (Primary | Secondary | Normal)PrimaryDetermines the button's visual style and hierarchy.
SizeRadio group (Small | Medium | Large)MediumControls the overall size of this button. When it is used in a form, this property does not appear; meanwhile, it will follow the form size.
Icon sizeDropdown (XXS | XS | Small | Medium | Large | XL | XXL | XXXL)-Controls the size of the icon displayed in the button.
ThemeDropdown (Ghost | Normal | Light | Dark)NormalSets the visual theme of the button. Ghost creates a transparent outline style. Light and Dark are ghost variants for different backgrounds.
ValidateToggle switchOnWhen turned on, clicking the button triggers form field validation before executing the onClick handler. The handler then receives (value, errors, field) instead of just the click event.
LoadingToggle switchOffShows a loading spinner and disables user interaction while an operation is in progress.
TextToggle switchOffRenders the button as a text-only button with no border or background.
WarningToggle switchOffApplies warning styling (typically red) to indicate a destructive or cautious action.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element (e.g., Form_Submit61). Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the button is inside a Form.Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Submit button. The available component native events are onMouseUp and onClick. Refer to Button Events for the general event binding workflow.

The onMouseUp handler receives the form field values:

onMouseUp(value) {
console.log(value)
}

When Validate is enabled, the onClick handler signature changes to receive form data:

onClick(value, errors, field) {
// value: form field values
// errors: validation error object (null if no errors)
// field: the form field instance
}

When Validate is disabled, the onClick handler receives the standard click event:

onClick(event) {
// Handle button click
}

Advanced

For more information, refer to Advanced.

Reset button

The Reset button is a form-specific component that resets form fields to their default or initial values when clicked. It is typically placed inside a Form Item within a Form Template. In the App Designer, select a Reset button on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Reset button.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Labeli18n setterResetSets the text displayed on the button. Supports internationalisation.
IconIcon selector-Sets an icon for the button.
Icon positionRadio group (Left | Right)-Sets the position of the icon relative to the button text.
TypeDropdown (Primary | Secondary | Normal)NormalDetermines the button's visual style and hierarchy.
SizeDropdown (Small | Medium | Large)MediumSets the size of the button.
Icon sizeDropdown (Xxs | Xs | Small | Medium | Large | Xl | Xxl | Xxxl)-Controls the size of the icon displayed in the button.
ThemeDropdown (Normal | Light | Dark)NormalSets the visual theme of the button. Light and Dark are ghost variants for different backgrounds.
To defaultToggle switchOffWhen enabled, clicking the button restores fields to their default values rather than clearing them.
LoadingToggle switchOffShows a loading spinner and disables user interaction while an operation is in progress.
TextToggle switchOffWhen enabled, renders the button as a text-only button with no border or background.
WarningToggle switchOffWhen enabled, applies warning styling to the button.
DisabledToggle switchOffControls whether the button is in a disabled state, preventing user interaction.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the button is inside a Form Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Reset button without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Reset button's supported events:

    • onClick — Triggered when the button is clicked
    • onMouseUp — Triggered when the mouse button is released over the button
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onClick and onMouseUp handlers receive the corresponding DOM event:

onClick(event) { }
onMouseUp(event) { }

Advanced

For more information, refer to Advanced.

HTML

The HTML component allows you to embed raw HTML markup directly into the application canvas. It renders the provided HTML string as live DOM content. In the App Designer, select an HTML on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the content property of the HTML component.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
DataCode editor (Edit Code button)-Sets the raw HTML content to render inside the component.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the HTML component without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the HTML component's supported events:

    • onClick — Triggered when the rendered HTML content is clicked
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onClick handler receives the click event:

onClick(event) {
// Handle click on the HTML content
}

Advanced

For more information, refer to Advanced.

Icon Selector

The Icon Selector component displays a scalable icon from the icon library. In the App Designer, select an Icon Selector on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual properties of the Icon Selector.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Icon listJSON setter-Sets the list of icons to display.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Icon Selector without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Icon Selector's supported events:

    • onChange — Triggered when the selected icon changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new icon value:

onChange(value) {
console.log(value)
}

Advanced

For more information, refer to Advanced.

Input

The Input component is a single-line text field for user input. It supports labels, placeholder text, value binding, validation states, character limits, and add-on content around the field. In the App Designer, select an Input on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Input.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)InputSwitches the component to a different input type. The current component is replaced with the selected type.
Labeli18n setter-Sets a label displayed alongside the input field. Supports internationalisation.
Default valuei18n setter-Sets the initial value for uncontrolled usage.
Valuei18n setter-Sets the current value for controlled usage.
Placeholderi18n setterPlease enterSets the placeholder text displayed when the input is empty. Supports internationalisation.
StateRadio group (Error | Loading | Success | Warning | Default)-Sets the validation state of the input, applying a corresponding visual indicator.
SizeRadio group (Small | Medium | Large)MediumControls the overall size of the input field.
Max lengthNumber input-Sets the maximum number of characters allowed in the input.
Allow clearingToggle switchOffWhen enabled, displays a clear (×) button inside the input to remove the current value.
Allow clearing on HoverToggle switchOffWhen enabled, displays the clear button only when the user hovers over the input.
DisabledToggle switchOffControls whether the input is in a disabled state, preventing user interaction.
Show copy clipboardToggle switchOffWhen enabled, displays a copy-to-clipboard button alongside the input.
Show limitToggle switchOffWhen enabled, displays a character count indicator relative to the Max length value.
Cut stringToggle switchOffWhen enabled, automatically truncates input that exceeds the Max length value.
Read onlyToggle switchOffWhen enabled, prevents the user from editing the input value while still displaying it.
TrimToggle switchOffWhen enabled, automatically removes leading and trailing whitespace from the value returned by onChange.
Show borderToggle switchOnControls whether the input field has a visible border.
Auto completeDropdown (On | Off)OffControls the browser's autocomplete behaviour for this input.
Auto focusToggle switchOffWhen enabled, automatically places focus on this input when the page loads.
Icon hintIcon selector-Sets an icon displayed inside the input field as a visual hint.
Inner beforei18n setter-Adds content inside the input field, before the text area. Supports internationalisation.
Inner afteri18n setter-Adds content inside the input field, after the text area. Supports internationalisation.
Addon beforei18n setter-Adds content outside the input field, immediately before it. Supports internationalisation.
Addon afteri18n setter-Adds content outside the input field, immediately after it. Supports internationalisation.
Text beforei18n setter-Adds plain text before the input field. Supports internationalisation.
Text afteri18n setter-Adds plain text after the input field. Supports internationalisation.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the Input is inside a Form.Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Input without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Input's supported events:

    • onPressEnter — Triggered when the Enter key is pressed
    • onChange — Triggered when the input value changes
    • onKeyDown — Triggered when a key is pressed down
    • onFocus — Triggered when the input receives focus
    • onBlur — Triggered when the input loses focus
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onPressEnter handler receives the keyboard event:

onPressEnter(event) {
// Handle Enter key press
}

The onChange handler receives the new value:

onChange(value) {
// value: the updated input string
}

The onKeyDown, onFocus, and onBlur handlers each receive the corresponding DOM event:

onKeyDown(event) { }
onFocus(event) { }
onBlur(event) { }

Advanced

For more information, refer to Advanced.

Password Input

The Password Input component is a single-line text field for entering passwords. It supports an optional toggle to show or hide the entered text, as well as labels, placeholder text, value binding, validation states, character limits, and add-on content around the field. In the App Designer, select a Password Input on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Password Input.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)Password InputSwitches the component to a different input type. The current component is replaced with the selected type.
Labeli18n setter-Sets a label displayed alongside the input field. Supports internationalisation.
Max lengthNumber input-Sets the maximum number of characters allowed in the input.
Placeholderi18n setter-Sets the placeholder text displayed when the input is empty. Supports internationalisation.
StateRadio group (Error | Loading | Success | Warning)-Sets the validation state of the input, applying a corresponding visual indicator.
SizeRadio group (Small | Medium | Large)MediumControls the overall size of the input field.
Show toggleToggle switchOffWhen enabled, displays a toggle icon that allows the user to show or hide the password text.
Allow clearingToggle switchOffWhen enabled, displays a clear (×) button inside the input to remove the current value.
DisabledToggle switchOffControls whether the input is in a disabled state, preventing user interaction.
Show limitToggle switchOffWhen enabled, displays a character count indicator relative to the Max length value.
Cut stringToggle switchOffWhen enabled, automatically truncates input that exceeds the Max length value.
Read onlyToggle switchOffWhen enabled, prevents the user from editing the input value while still displaying it.
TrimToggle switchOffWhen enabled, automatically removes leading and trailing whitespace from the value returned by onChange.
Show borderToggle switchOnControls whether the input field has a visible border.
Auto focusToggle switchOffWhen enabled, automatically places focus on this input when the page loads.
Icon hintIcon selector-Sets an icon displayed inside the input field as a visual hint.
Inner beforei18n setter-Adds content inside the input field, before the text area. Supports internationalisation.
Inner afteri18n setter-Adds content inside the input field, after the text area. Supports internationalisation.
Addon beforei18n setter-Adds content outside the input field, immediately before it. Supports internationalisation.
Addon afteri18n setter-Adds content outside the input field, immediately after it. Supports internationalisation.
Text beforei18n setter-Adds plain text before the input field. Supports internationalisation.
Text afteri18n setter-Adds plain text after the input field. Supports internationalisation.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the Password Input is inside a Form.Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Password Input without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Password Input's supported events:

    • onPressEnter — Triggered when the Enter key is pressed
    • onClear — Triggered when the clear button is clicked
    • onChange — Triggered when the input value changes
    • onKeyDown — Triggered when a key is pressed down
    • onFocus — Triggered when the input receives focus
    • onBlur — Triggered when the input loses focus
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onPressEnter handler receives the keyboard event:

onPressEnter(event) {
// Handle Enter key press
}

The onClear handler receives the clear event:

onClear(event) {
// Handle clear button click
}

The onChange handler receives the new value:

onChange(value) {
// value: the updated input string
}

The onKeyDown, onFocus, and onBlur handlers each receive the corresponding DOM event:

onKeyDown(event) { }
onFocus(event) { }
onBlur(event) { }

Advanced

For more information, refer to Advanced.

TextArea

The TextArea component is a multi-line text field for user input. It supports configurable row height, automatic height adjustment, placeholder text, value binding, validation states, character limits, and clipboard controls. In the App Designer, select a TextArea on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the TextArea.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)TextAreaSwitches the component to a different input type. The current component is replaced with the selected type.
RowsNumber input4Sets the number of visible rows in the textarea.
Default valuei18n setter-Sets the initial value for uncontrolled usage.
Valuei18n setter-Sets the current value for controlled usage.
SizeRadio group (Small | Medium | Large)MediumControls the overall size of the textarea. Please note that the Small and Medium values do not function in the source code.
Max lengthNumber input-Sets the maximum number of characters allowed in the textarea.
Placeholderi18n setter-Sets the placeholder text displayed when the textarea is empty. Supports internationalisation.
StateRadio group (Error | Warning)-Sets the validation state of the textarea, applying a corresponding visual indicator.
Auto heightRadio group (None | Auto | Custom)NoneControls automatic height adjustment. None uses a fixed row height. Auto expands the textarea as content grows. Custom enables manual minimum and maximum row configuration.
Min rowNumber input2Sets the minimum number of rows when Auto height is Custom. Only visible when Auto height is set to Custom.
Max rowNumber input5Sets the maximum number of rows when Auto height is Custom. Only visible when Auto height is set to Custom.
Allow clearingToggle switchOffWhen enabled, displays a clear (×) button to remove the current value.
Preview modeToggle switchOffWhen enabled, renders the textarea content as read-only preview text.
DisabledToggle switchOffControls whether the textarea is in a disabled state, preventing user interaction.
Show copy clipboardToggle switchOffWhen enabled, displays a copy-to-clipboard button alongside the textarea.
Show limitToggle switchOffWhen enabled, displays a character count indicator relative to the Max length value.
Cut stringToggle switchOnWhen enabled, automatically truncates input that exceeds the Max length value.
Read onlyToggle switchOffWhen enabled, prevents the user from editing the textarea value while still displaying it.
TrimToggle switchOffWhen enabled, automatically removes leading and trailing whitespace from the value returned by onChange.
Show borderToggle switchOnControls whether the textarea has a visible border.
Auto focusToggle switchOffWhen enabled, automatically places focus on this textarea when the page loads.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the TextArea is inside a Form.Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the TextArea without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the TextArea's supported events:

    • onChange — Triggered when the textarea value changes
    • onKeyDown — Triggered when a key is pressed down
    • onFocus — Triggered when the textarea receives focus
    • onBlur — Triggered when the textarea loses focus
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new value:

onChange(value) {
// value: the updated textarea string
}

The onKeyDown, onFocus, and onBlur handlers each receive the corresponding DOM event:

onKeyDown(event) { }
onFocus(event) { }
onBlur(event) { }

Advanced

For more information, refer to Advanced.

Table

The Table component displays data in a structured grid with rows and columns. It supports fixed headers, row selection, tree data, virtual scrolling, and row and cell customisation. In the App Designer, select a Table on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Table.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

Custom toolbar rendering configuration

PropertyUI ControlDefaultDescription
Custom renderingToggle switchDisableWhen enabled, provides a custom render function for the entire toolbar.
Top-right renderingToggle switchDisableWhen enabled, renders custom content in the top-right area of the table.
Top renderingToggle switchDisableWhen enabled, renders custom content above the table.

Style and theme

PropertyUI ControlDefaultDescription
ThemeRadio group (Zebra | Split | Border)-Sets the visual theme of the table.
Show headerToggle switchOnControls whether the table header row is displayed.
Fixed headerToggle switchOffWhen enabled, the table header remains visible when scrolling vertically.
Max body heightText input-Sets the maximum height of the table body. When the content exceeds this height, vertical scrolling is enabled. Only visible when Fixed header is enabled.
Sticky headerToggle switchOffWhen enabled, the header sticks to the top of the viewport on scroll.
Use virtualToggle switchOffWhen enabled, uses virtual scrolling to improve performance with large datasets.
Empty value contentToggle switchOnWhen enabled, displays the Empty content text when the datasource has no rows.
Empty contenti18n setterNo DataSets the text displayed when the datasource is empty. Supports internationalisation.
Responsive table typeRadio group (Default | Collapse row)DefaultSets the responsive behaviour of the table on smaller screens.
Responsive break point (px)Number input500Sets the viewport width threshold (in pixels) at which the table switches to collapsed row layout. Only visible when Responsive table type is set to Collapse row.

Row selector

PropertyUI ControlDefaultDescription
Enable row selectionToggle switchOffWhen enabled, allows rows to be selected.
Select modeRadio group (Checkbox selector | Radio selector)-Sets whether rows are selected using checkboxes (multiple) or radio buttons (single). Only visible when Enable row selection is enabled.
Customise selectionFunction Binding-Provides a custom function to control row selection behaviour.
Primary keyi18n setteridSets the field name used as the unique row identifier.
Selected row keysArray setter-Sets the currently selected row key values.

Pagination configuration

PropertyUI ControlDefaultDescription
Show paginationToggle switchOffWhen enabled, the Pagination settings sub-section takes effect.
Pagination settings

The Pagination settings sub-section is available within the Pagination configuration section. These properties only take effect when Show pagination is enabled.

PropertyUI ControlDefaultDescription
AlignmentRadio group (Left | Right)RightSets the horizontal alignment of the pagination control.
TypeRadio group (Normal | Simple | Mini)NormalSets the visual style of the pagination control.
Navigation button styleDropdown (Normal | Arrow only | Arrow prev only | No border)Arrow onlySets the style of the previous/next navigation buttons.
SizeRadio group (Small | Medium | Large)MediumSets the size of the pagination control.
Current pageNumber input1Sets the current page number.
Total recordsNumber input100Sets the total number of records used to calculate the page count.
Total texti18n setterTotalSets the total number of rendering functions. Supports internationalisation.
Show page sizeNumber input10Sets the number of rows displayed per page.
Selector typeRadio group (None | Filter | Dropdown)NoneSets the style of the page-size selector control.
Page size listText input5,10,20Sets the available page-size options as a comma-separated list.
Page size alignmentRadio group (Start | End)EndSets the alignment of the page-size selector.
Single page hideToggle switchOffWhen enabled, hides the pagination control when there is only one page.
Show jumpToggle switchOnWhen enabled, displays a page jump input.
Jump linkText input-Sets a URL template for page-number links.
OnChangeFunction Binding-Defines a callback function triggered when the page changes.
OnPageSizeChangeFunction Binding-Defines a callback function triggered when the page size changes.

Tree table

PropertyUI ControlDefaultDescription
Open Row KeysSwitch Setter (Array setter / Variable input)-Sets the keys of rows that are expanded in tree mode. Click "Add an item +" to add a row key entry. You can click the delete (trash) icon to remove an entry, or use the grip icon to reorder entries.
Enable treeToggle switchOffWhen enabled, renders the table as a tree table with expandable rows.

Action bar

Defines action items displayed in the table toolbar. Each item in the Action bar array editor has the following properties:

PropertyUI ControlDefaultDescription
Titlei18n setterAuto-generated (for example, Add, Edit)Sets the display text of the action item. Supports internationalisation.
CallbackFunction Binding-Binds a function to be called when the action item is clicked.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an item, or use the grip icon to reorder items. Click "Add an item +" to add a new action item.

Defines link items displayed alongside action bar items. Each item in the Link bar array setter has the following properties:

PropertyUI ControlDefaultDescription
Titlei18n setterTitleSets the display text of the link item. Supports internationalisation.
CallbackFunction Binding-Binds a function to be called when the link item is clicked.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an item, or use the grip icon to reorder items. Click "Add an item +" to add a new link item.

Top actions

PropertyUI ControlDefaultDescription
Show mini paginationToggle switchOffControls the visibility of a compact or 'mini' version of the pagination interface, conserving space while providing navigation controls.
Show action barToggle switchOnControls the visibility of an action toolbar within the table, providing users with convenient access to various actions and interactions related to the displayed data.
Show linksToggle switchOffDetermines whether link items are displayed within the table.
Allow searchingToggle switchOffWhen enabled, displays a search box in the toolbar.
Search box placeholderi18n setter-Sets the placeholder text for the toolbar search box. Only visible when Allow searching is enabled. Supports internationalisation.
Allow hide columnsToggle switchOffGrants users the ability to hide or show individual columns within the table, providing them with control over the visibility of specific data fields.

Data column

PropertyUI ControlDefaultDescription
Data columnSwitch Setter (Array setter / Variable input)-Defines the table columns. See Data column item configuration.
DatasourceJSON setterSee code sampleSets the data array to display. Each array item represents a row.
Row propsFunction Binding-Provides a custom function to apply props to each table row element.
Cell propsFunction Binding-Provides a custom function to apply props to each table cell element.
Sort icons descIcon selectordescendingSets the icon used for the descending sort indicator.
Sort icons ascIcon selectorascendingSets the icon used for the ascending sort indicator.

Datasource default code sample

[{
"name": "Wang Xiao",
"id": "1",
"age": 15000,
"role": "develop"
},
{
"name": "Wang Zhong",
"id": "2",
"age": 25000,
"role": "product"
},
{
"name": "Wang Da",
"id": "3",
"age": 35000,
"role": "design"
}]

Data column item configuration

Each item in the Data column array editor has the following properties:

PropertyUI ControlDefaultDescription
Titlei18n setterAuto-generated (for example, Name, Age)Sets the column header text. Supports internationalisation.
AlignRadio group (Left | Center | Right)CenterSets the horizontal alignment of the column content.
Data keyText inputAuto-generated (for example, name)Sets the data field key that this column maps to.
WidthNumber input (px)200Sets the column width in pixels.
Data typeDropdown (Text | Timestamp | Cascade timestamp | Employee | Money | Money range)TextSets the data type of the column.
LockRadio group (Left | Right | None)NoneLocks the column to the left or right side of the table.
Allow sortingToggle switchOffWhen enabled, allows the user to sort the table by this column.
CellFunction Binding-Binds a custom function to render the cell content.
RenderToggle switch + Params setterOnWhen enabled, activates a custom render function for the column. The Params field displays the function parameters (value,index,record). You can click the clear (X) icon to reset the parameters.
ColSpanText input-Sets the number of columns this cell should span.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove a column, or use the grip icon to reorder columns. Click "Add an item +" to add a new column.

Action column

PropertyUI ControlDefaultDescription
Action columnSwitch Setter (Array setter / Variable input)Auto-generatedDefines action items (for example, Edit, Preserve) displayed in the action column. Refer to Action column items.
Action positionRadio group (Left | Right)RightSets whether the action column appears on the left or right side of the table.
Column titlei18n setterOperationSets the header text of the action column. Supports internationalisation.
Column alignRadio group (Left | Center | Right)-Sets the horizontal alignment of content in the action column.
Column widthNumber input180Sets the width of the action column in pixels.
Action typeRadio group (Link | Button)LinkSets whether action items render as links or buttons.
Action hiddenToggle switchOffWhen enabled, hides the entire action column.
None action hiddenToggle switchOffWhen enabled, hides the action column cell for rows where no actions are available.
Button visibilityNumber input3Sets the maximum number of action buttons visible before the remainder are collapsed into a dropdown.
Dropdown menuToggle switchOffWhen enabled, collapses all action items into a dropdown menu.
Action column trigger typeRadio group (Click | Hover)-Sets whether the dropdown menu opens on click or hover.

Action column items

Each item in the Action column array has the following properties:

PropertyUI ControlDefaultDescription
Titlei18n setterAuto-generatedSets the display text of the action item. Supports internationalisation.
IconIcon setter-Sets an icon displayed alongside the action item.
WidthNumber input (px)-Sets the width of the action item in pixels.
CallbackFunction Binding-Binds a custom function (callback) to be called when the action item is clicked.
FilterFunction Binding-Binds a custom function (filterFunc) to conditionally control the visibility of the action item per row.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an action item, or use the grip icon to reorder items. Click "Add an item +" to add a new action item.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Table without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Table's supported events:

    • onFetchData — Triggered when the table requests data, for example on sort or page change
    • onSelect — Triggered when a row is selected or deselected
    • onSelectAll — Triggered when the select-all checkbox is toggled
    • onSort — Triggered when a column sort is applied
    • onRowClick — Triggered when a row is clicked
    • onRowMouseEnter — Triggered when the pointer enters a row
    • onRowMouseLeave — Triggered when the pointer leaves a row
    • onRowOpen — Triggered when a row is expanded
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onFetchData handler receives the current pagination and sort state:

onFetchData(params) {
// params: object containing current page, page size, and sort info
}

The onSelect handler receives the selection and the record(s) that changed:

onSelect(selected, record, records) {}

The onSelectAll handler receives the selection and the records:

onSelectAll(selected, records) {}

The onSort handler receives the sort field and sort order:

onSort(field, order) {
// field: the column key being sorted
// order: 'asc' | 'desc'
}

The onRowClick handler receives the row record and row index:

onRowClick(record, index) {
// record: the row data object
// index: the zero-based row index
}

The onRowMouseEnter and onRowMouseLeave handlers each receive the row record and index:

onRowMouseEnter(record, index) { }
onRowMouseLeave(record, index) { }

The onRowOpen handler receives the currently expanded row keys, the key of the toggled row, a flag indicating whether the row was expanded or collapsed, and the data record of the toggled row:

onRowOpen(openRowKeys, currentRowKey, expanded, currentRecord) {
// openRowKeys: array of currently expanded row keys
// currentRowKey: the key of the row that was toggled
// expanded: true when expanding, false when collapsing
// currentRecord: the data object of the toggled row
}

Advanced

For more information, refer to Advanced.

Number Input

The Number Input component provides a numeric text field with increment and decrement controls. It supports configurable range, step, precision, display format, and inline or standard layout. In the App Designer, select a Number Input on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Number Input.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)Number InputSwitches the component to a different input type. The current component is replaced with the selected type.
Labeli18n setter-Sets a label displayed alongside the number input. Supports internationalisation.
Current valueNumber input-Sets the current value for controlled usage.
Default valueNumber input-Sets the initial value for uncontrolled usage.
SizeRadio group (Small | Medium | Large)MediumSets the overall size of the component.
TypeRadio group (Ordinary | Inline)OrdinarySets the layout of the increment and decrement controls. Ordinary places controls to the right. Inline places them within the field.
Inner afteri18n setter-Adds content displayed inside the field after the numeric value. Supports internationalisation.
StepNumber input1Sets the increment or decrement amount applied per control click or arrow key press.
PrecisionNumber input0Sets the number of decimal places to display and round to.
Max valueNumber input-Sets the maximum allowed value.
Min valueNumber input-Sets the minimum allowed value.
EditableToggle switchOnWhen enabled, allows the user to type directly into the input field.
DisabledToggle switchOffControls whether the input is in a disabled state, preventing user interaction.
String modeToggle switchOffWhen enabled, the value is handled as a string to preserve precision for very large numbers.
FormatFunction Binding-Defines a custom function to format the displayed value. Refer to Format function.

Format function

The Format function accepts the following signature:

format(value) {
return value;
}

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the Number Input is inside a Form Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Number Input without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Number Input's supported events:

    • onChange — Triggered when the value changes
    • onKeyDown — Triggered when a key is pressed down
    • onFocus — Triggered when the input receives focus
    • onBlur — Triggered when the input loses focus
    • onCorrect — Triggered when the value is automatically corrected to fit within the min/max range
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new numeric value:

onChange(value) {
// value: the updated number
}

The onCorrect handler receives the corrected value:

onCorrect(value) {
// value: the value after correction to min/max bounds
}

The onKeyDown, onFocus, and onBlur handlers each receive the corresponding DOM event:

onKeyDown(event) { }
onFocus(event) { }
onBlur(event) { }

Advanced

For more information, refer to Advanced.

Phone Input

The Phone Input component provides an international telephone number field with a country code selector. It supports phone number formatting, country filtering, search functionality, and configurable validation. In the App Designer, select a Phone Input on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Phone Input.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Default country codeSwitch Setter (i18n setter / Number setter / Variable input)-Sets the initial country dial code. Supports internationalisation.
Default valuei18n setter-Sets the initial phone number value. Supports internationalisation.
Selected countriesSwitch Setter (MasterCode setter / Array setter / Variable input)-Restricts the country list to only the specified countries. Click "Add an item +" to add a country entry. Each entry supports internationalisation. You can click the delete (trash) icon to remove an entry, or use the grip icon to reorder entries.
Preferred countriesSwitch Setter (MasterCode setter / Array setter / Variable input)-Places the specified countries at the top of the country dropdown. Click "Add an item +" to add a country entry. Each entry supports internationalisation. You can click the delete (trash) icon to remove an entry, or use the grip icon to reorder entries.
Excluded countriesSwitch Setter (MasterCode setter / Array setter / Variable input)-Removes the specified countries from the country dropdown. Click "Add an item +" to add a country entry. Each entry supports internationalisation. You can click the delete (trash) icon to remove an entry, or use the grip icon to reorder entries.
Placeholderi18n setter1 (702) 123-4567Sets the placeholder text in the phone number field. Supports internationalisation.
Search placeholderi18n settersearchSets the placeholder text in the country search box. Supports internationalisation.
Empty value contenti18n setterNo entries to showSets the message displayed when no countries match the search. Supports internationalisation.
DisabledToggle switchOffControls whether the phone input is in a disabled state.
Auto formatToggle switchOffWhen enabled, automatically formats the phone number as the user types.
Show area codeToggle switchOffWhen enabled, displays the area code in the country selector.
Show territoryToggle switchOffWhen enabled, displays the territory name in the country selector.
Disable country codeToggle switchOffWhen enabled, prevents the user from changing the country code. Only visible when Country code editable is disabled.
Disable dropdownToggle switchOffWhen enabled, prevents the user from opening the country selector dropdown.
Allow long numbersSwitch Setter (Number setter / Bool setter / Variable input)-When set, allows phone numbers up to the specified length beyond the standard format.
Country code editableToggle switchOffWhen enabled, allows the user to modify the country code portion of the field directly.
Enable searchToggle switchOffWhen enabled, displays a search box within the country dropdown.
Disable search iconToggle switchOffWhen enabled, hides the search icon in the country search box.

Regions

PropertyUI ControlDefaultDescription
RegionsSwitch Setter (i18n setter / Array setter / Variable input)-Restricts the country list to countries within the specified region or regions. Click "Add an item +" to add a region entry. Each entry supports internationalisation. You can click the delete (trash) icon to remove an entry, or use the grip icon to reorder entries.
Input propsJSON setter-Passes additional props to the underlying input element.
Default maski18n setter... ... ... ... ..Sets the default format mask applied when no country-specific mask is available.
Always default maskToggle switchOffWhen enabled, always applies the default mask regardless of the selected country.
Prefixi18n setter+Sets the prefix character displayed before the country code.
Copy numbers onlyToggle switchOffWhen enabled, copying the value to clipboard includes only the digits, without formatting characters.
Render string as flagi18n setter-When set, renders the country code string in the flag selector area instead of a flag image.
Enable area code stretchToggle switchOffWhen enabled, the area code selector stretches to fill available space.
Enable click outsideToggle switchOffWhen enabled, clicking outside the dropdown closes it.
Show dropdownToggle switchOffControls the visibility of the country dropdown programmatically.
Default error messagei18n setter-Sets the default validation error message. Supports internationalisation.
Disable initial country guessToggle switchOffWhen enabled, prevents the component from automatically detecting the country from the initial value.
Disable country guessToggle switchOffWhen enabled, prevents the component from guessing the country as the user types.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the Phone Input is inside a Form Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Phone Input without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Phone Input's supported events:

    • onChange — Triggered when the phone number value changes
    • onFocus — Triggered when the input receives focus
    • onBlur — Triggered when the input loses focus
    • onClick — Triggered when the input is clicked
    • onKeyDown — Triggered when a key is pressed down
    • isValid — A validation function that returns a boolean or string to indicate whether the current value is valid
    • onMount — Triggered when the component mounts
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the phone number value and selected country data:

onChange(value, countryData) {
// value: the current phone number string
// countryData: object containing country name, dial code, and country code
}

The isValid handler receives the value and country context, and must return true (valid) or an error string:

isValid(value, selectedCountry, onlyCountries, hiddenAreaCodes) {
// return true if valid, or an error string if invalid
}

The onFocus, onBlur, onClick, and onKeyDown handlers each receive the corresponding DOM event:

onFocus(event) { }
onBlur(event) { }
onClick(event) { }
onKeyDown(event) { }

The onMount handler is called once when the component is first rendered:

onMount() {
// Component has mounted
}

Advanced

For more information, refer to Advanced.

Radio

The Radio component is a single radio button that can be used independently or within a Radio Group. It supports checked state binding, label text, disabled state, and preview mode. In the App Designer, select a Radio on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Radio.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Default checkedToggle switchOffSets the initial checked state for uncontrolled usage.
CheckedToggle switchOffSets the current checked state for controlled usage.
Labeli18n setterOption 1Sets the label text displayed next to the radio button. Supports internationalisation.
DisabledToggle switchOffControls whether the radio button is in a disabled state, preventing user interaction.
ValueSwitch Setter (String setter / Number setter / Bool setter / Variable input)1Sets the value associated with this radio button when it is selected.
Preview modeToggle switchOffWhen enabled, renders the component in a read-only preview state.
Render previewBind Function-Opens the Event Binding window with the renderPreview event name. Defines a custom render function for the preview state.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Radio without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Radio's supported events:

    • onChange — Triggered when the checked state changes
    • onMouseEnter — Triggered when the pointer enters the radio area
    • onMouseLeave — Triggered when the pointer leaves the radio area
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler is triggered when the selected state changes:

onChange(checked, event) {
// checked: boolean indicating whether the radio is selected
// event: the DOM change event object
}

The onMouseEnter and onMouseLeave handlers receive the corresponding DOM event:

onMouseEnter(event) { }
onMouseLeave(event) { }

Advanced

For more information, refer to Advanced.

Radio Group

The Radio Group component renders a set of mutually exclusive radio buttons. It supports normal and button display shapes, horizontal or vertical layout, and both controlled and uncontrolled value modes. In the App Designer, select a Radio Group on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Radio Group.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)Radio GroupSwitches the component to a different input type. The current component is replaced with the selected type.
ShapeRadio group (Normal | Button)-Sets the visual style of the radio options. Normal shows standard radio inputs. Button shows toggle button-style options.
DisabledToggle switchOffControls whether all radio options in the group are in a disabled state.
SizeRadio group (Small | Medium | Large)-Sets the overall size of the radio group.
DirectionRadio group (Horizontal | Vertical)-Sets the layout direction of the radio options.
Preview modeToggle switchOffWhen enabled, renders the radio group in a read-only preview state.
Normal valuei18n setter-Sets the initial selected value for uncontrolled usage.
Valuei18n setter-Sets the current selected value for controlled usage.
DataSourceSwitch Setter (MasterCode setter / Array editor / Variable input)-Defines the list of radio options. Refer to DataSource.

DataSource

The DataSource section defines the list of radio options. Each item in the array has the following properties:

PropertyUI ControlDefaultDescription
Labeli18n setterAuto-generatedSets the display text of the radio option. Supports internationalisation.
Valuei18n setterAuto-generatedSets the underlying value of the radio option. Supports internationalisation.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an option, or use the grip icon to reorder options. Click "Add an item +" to add a new option.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Radio Group without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Radio Group's supported events:

    • onChange — Triggered when the selected value changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new selected value:

onChange(value) {
// value: the value of the newly selected radio option
}

Advanced

For more information, refer to Advanced.

Range

The Range component (Slider) provides a slider control for selecting a numeric value or range within defined bounds. It supports dual knobs for range selection, customisable tick marks, and tooltip display. In the App Designer, select a Range on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Range.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Current valueSwitch Setter (Number input / Expression input / Variable input)-Sets the current value for controlled usage.
Default valueSwitch Setter (Number input / Expression input / Variable input)-Sets the initial value for uncontrolled usage.
Min valueNumber input0Sets the minimum selectable value.
Max valueNumber input100Sets the maximum selectable value.
StepNumber input1Sets the increment between selectable values.
Knob countRadio group (Single | Double)SingleSets the number of slider knobs. Single selects a single value. Double selects a range between two values.
DisabledToggle switchOffControls whether the slider is in a disabled state, preventing user interaction.
Show tooltipToggle switchOnWhen enabled, displays the current value in a tooltip above the knob during interaction.
Fixed widthToggle switchOffWhen enabled, the distance between the two knobs is locked to a fixed interval. Only applicable when Knob count is Double.
Indicator marksSwitch Setter (Array setter / Variable input)-Defines custom tick marks along the slider track. Each mark specifies a value and an optional label.
Label positionRadio group (Above | Below)AboveSets the position of mark labels relative to the slider track. Only visible when Indicator marks are configured.
Auto show tooltipToggle switchOffWhen enabled, the tooltip is always visible rather than only during interaction.
ReverseToggle switchOffWhen enabled, reverses the direction of the slider track.
Preview modeToggle switchOffWhen enabled, renders the slider in a non-interactive preview state.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Range without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Range's supported events:

    • onChange — Triggered when the slider value changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new value:

onChange(value) {
// value: the new slider value (or [start, end] when Knob count is Double)
}

Advanced

For more information, refer to Advanced.

Rating

The Rating component allows users to provide a star-based rating. It supports a configurable maximum star count, half-star precision, score display, and a custom display value function. In the App Designer, select a Rating on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Rating.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Current valueNumber input-Sets the current rating value for controlled usage.
Default valueNumber input-Sets the initial rating value for uncontrolled usage.
SizeRadio group (Small | Medium | Large)MediumSets the overall size of the rating stars.
Max ratingNumber input5Sets the maximum number of stars to display (up to 10).
Allow half starsToggle switchOffWhen enabled, allows half-star selections for finer granularity.
Show ratingToggle switchOffWhen enabled, displays the numeric rating value alongside the stars.
Customise rating display valueFunction Binding-Defines a custom function to format the displayed rating value.

Customise rating display value function

The Customise rating display value function accepts the following signature:

readAs(val) {
// val: the current numeric rating value
}

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Rating without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Rating's supported events:

    • onChange — Triggered when the selected rating value changes
    • onHoverChange — Triggered when the pointer hovers over a different star
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new rating value:

onChange(value) {
// value: the newly selected numeric rating
}

The onHoverChange handler receives the hovered rating value:

onHoverChange(value) {
// value: the rating value currently under the pointer
}

Advanced

For more information, refer to Advanced.

The Search component is a search input field with an integrated search button. It supports placeholder text, datasource suggestions, filter selectors, and configurable size, shape, and type styles. In the App Designer, select a Search on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the Search.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Placeholderi18n setterPlease enterSets the placeholder text displayed when the input is empty. Supports internationalisation.
Default valuei18n setter-Sets the initial value of the search input.
Search texti18n settersearchSets the label text displayed on the search button. Supports internationalisation.
SizeRadio group (Large | Medium)MediumControls the overall size of the search field.
ShapeRadio group (Normal | Simple)NormalSets the visual shape of the search component. Normal displays the full search field with a button. Simple displays a compact style.
TypeRadio group (Primary | Secondary | Normal | Dark)NormalDetermines the visual style of the search button.
Allow clearingToggle switchOffWhen enabled, displays a clear (×) button to remove the current value.
Show iconToggle switchOnControls whether the search icon is displayed on the search button.
DisabledToggle switchOffControls whether the search input is in a disabled state, preventing user interaction.
DatasourceJSON setterSee the code exampleProvides a list of suggestion items for the search input.
Filter selectorJSON setter-Defines filter options that users can apply to narrow search results.
Filter default valuei18n setter-Sets the default selected value of the filter selector.
Code example for Datasource default value
[{
"label": "Recent",
"value": "Recent"
},
{
"label": "dress",
"value": "dress"
},
{
"label": "sunglasses",
"value": "sunglasses"
},
{
"label": "t-shirt",
"value": "t-shirt"
}]

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. When the Search is inside a Form.Item, the name is inherited from the parent. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Search without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Search's supported events:

    • onChange — Triggered when the search input value changes
    • onSearch — Triggered when the user submits the search
    • onFilterChange — Triggered when the filter selection changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the current input value:

onChange(value) {
// value: the current search input string
}

The onSearch handler receives the submitted search value:

onSearch(value) {
// value: the search string submitted by the user
}

The onFilterChange handler receives the selected filter value:

onFilterChange(value) {
// value: the newly selected filter value
}

Advanced

For more information, refer to Advanced.

Select

The Select component displays a dropdown input for selecting one or more values from a predefined list. It supports single, multiple, and tag selection modes, optional search, and a configurable datasource. In the App Designer, select a Select on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Select.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)SelectSwitches the component to a different input type. The current component is replaced with the selected type.
Placeholderi18n setterPlease selectSets the placeholder text displayed when no value is selected. Supports internationalisation.
Default valuei18n setter-Sets the initial selected value when the component first renders (uncontrolled mode).
Valuei18n setter-Sets the current selected value (controlled mode).
SizeRadio group (Small | Medium | Large)-Sets the size of the Select component.
ModeRadio group (Single | Multiple | Tag)SingleControls the selection mode. Single allows one option. Multiple allows many. Tag allows free-form tag entry.
Allow clearingToggle switchOffWhen enabled, shows a clear button to remove the selected value.
Allow searchingToggle switchOffWhen enabled, shows a search box within the dropdown.
FollowTriggerToggle switchOffWhen enabled, the dropdown scrolls with the trigger element.
DisabledToggle switchOffWhen enabled, prevents user interaction with the Select.
DataSourceSwitch Setter (MasterCode setter / Array editor / Variable input)-Defines the list of radio options. Refer to DataSource.

DataSource

The DataSource section defines the list of radio options. Each item in the array has the following properties:

PropertyUI ControlDefaultDescription
Labeli18n setterAuto-generatedSets the display text of the radio option. Supports internationalisation.
Valuei18n setterAuto-generatedSets the underlying value of the radio option.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an option, or use the grip icon to reorder options. Click "Add an item +" to add a new option.

Other configurations

The Other configurations collapsible section provides additional display settings:

PropertyUI ControlDefaultDescription
Empty value contenti18n setterNo optionsSets the text displayed when no options match. Supports internationalisation.
Show borderToggle switchOnControls whether the Select input has a visible border.
Auto widthToggle switchOnWhen enabled, automatically adjusts the dropdown width to match the trigger element.
Show arrowToggle switchOnControls the visibility of the dropdown arrow.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Select without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Select's supported events:

    • onChange — Triggered when the selected value changes
    • onVisibleChange — Triggered when the dropdown visibility changes
    • onRemove — Triggered when a tag is removed (in Tag mode)
    • onSearch — Triggered when text is entered in the search box
    • valueRender — Customises the rendering of the selected value display
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new selected value:

onChange(value) {
// value: the newly selected value
}

The onVisibleChange handler receives the visibility state:

onVisibleChange(visible) {
// visible: true when the dropdown opens, false when it closes
}

The onRemove handler receives the removed item:

onRemove(item) {
// item: the tag item that was removed
}

The onSearch handler receives the search keyword:

onSearch(value) {
// value: the current search input text
}

The valueRender function customises how the selected value is displayed:

valueRender(item) {
}

Advanced

For more information, refer to Advanced.

Switch

The Switch component displays a toggle control for switching between on and off states. It supports controlled and uncontrolled modes, custom checked and unchecked labels, and configurable size. In the App Designer, select a Switch on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Switch.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
CheckedToggle switchOffSets the checked state of the Switch (controlled mode).
DefaultCheckedToggle switchOffSets the initial checked state when the component first renders (uncontrolled mode).
DisabledToggle switchOffWhen enabled, prevents user interaction with the Switch.
SizeRadio group (Medium | Small)MediumSets the size of the Switch.
Checked labeli18n setter-Sets the label displayed inside the Switch when it is in the checked (on) state. Supports internationalisation.
Unchecked labeli18n setter-Sets the label displayed inside the Switch when it is in the unchecked (off) state. Supports internationalisation.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Switch without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Switch's supported events:

    • onChange — Triggered when the switch state changes
    • onClick — Triggered when the switch is clicked
    • onKeyDown — Triggered when a keyboard key is pressed while the switch has focus
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new checked state and the event:

onChange(checked, e) {
// checked: true when switched on, false when switched off
// e: DOM event object
}

The onClick handler receives the event:

onClick(e) {
// e: DOM event object
}

The onKeyDown handler receives the event:

onKeyDown(e) {
// e: DOM event object
}

Advanced

For more information, refer to Advanced.

Tab

The Tab component displays a set of tabbed panels for organising content into switchable sections. Each tab item has a title, optional icon, and a unique key. In the App Designer, select a Tab on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Tab.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Tab itemsArray editor-Defines the list of tab items. See Tab item configuration.
Active keyi18n setter-Sets the key of the currently active tab (controlled mode). When set, the Tab is a controlled component and cannot be switched by the user without this value updating.
Default active keyi18n setter-Sets the key of the tab that is active on first render (uncontrolled mode).
Lazy loadToggle switchOffWhen enabled, tab content is not rendered until the tab is first selected by the user.
Label styleDropdown (Pure | Wrapped | Text | Capsule)PureDefines the visual style of the tab labels.
SizeRadio group (Small | Medium)MediumSets the size of the Tab component.

Tab item configuration

Each item in the Tab items array editor has the following properties:

PropertyUI ControlDefaultDescription
Namei18n setterAuto-generatedSets the display title of the tab. Supports internationalisation.
keyi18n setterAuto-generatedSets a unique key for the tab item, used to identify the active tab.
IconIcon selector-Sets an optional icon displayed in the tab label.
Icon sizeDropdown (XXS | XS | Small | Medium | Large | XL | XXL | XXXL)MediumSets the size of the tab icon.
DisabledToggle switchOffWhen enabled, the tab is visible but cannot be selected.

You can click the edit (pencil) icon to open the item editor, click the delete (trash) icon to remove an item, or use the grip icon to reorder items. Click "Add an item +" to add a new tab item.

Advanced settings

The Advanced settings collapsible section provides additional options:

PropertyUI ControlDefaultDescription
Unmount inactive tabToggle switchOffWhen enabled, inactive tab panels are removed from the DOM when not displayed, freeing memory.
Add iconToggle switchOffWhen enabled, displays an add icon in the tab navigation bar.
Render badgeToggle switchOffWhen enabled, shows a badge on the tab label.
CountText input-Sets the count value displayed in the badge. Only visible when Render badge is enabled.
DotToggle switchOnWhen enabled, displays the badge as a dot rather than a count number. Only visible when Render badge is enabled.
Custom badge renderingFunction Binding-Binds a custom function (renderBadge) for rendering the badge. Only visible when Render badge is enabled.
Custom renderingFunction Binding-Binds a custom render function (tabRender) for individual tab items. This will take effect when the Render badge option is disabled.
Additional rendering in navigationSwitch Setter (String setter / Slot setter / Variable input)-Renders additional content in the tab navigation bar.

Tab.Item

The Tab.Item sub-component represents a single panel within a Tab component. Each Tab.Item corresponds to one tab and its associated content area. Select a Tab.Item on the canvas or in the Component Tree to configure its properties.

Its Props tab contains the properties of the Tab.Item.

PropertyUI ControlDefaultDescription
TitleText inputAuto-generatedSets the display title shown on the tab label.
KeyText inputAuto-generatedSets a unique key for the tab item, used to identify it within the parent Tab component.
CloseableToggle switchOffWhen enabled, a close icon is displayed on the tab label, allowing the user to remove the tab.
DisabledToggle switchOffWhen enabled, the tab is visible but cannot be selected by the user.

Events

The Events tab allows you to bind event handlers to the Tab without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Tab's supported events:

    • onClick — Triggered when a tab label is clicked
    • onChange — Triggered when the active tab changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onClick handler receives the key of the clicked tab:

onClick(key) {
// key: the key of the tab that was clicked
}

The onChange handler receives the key of the newly active tab:

onChange(key) {
// key: the key of the newly active tab
}

Advanced

For more information, refer to Advanced.

TimePicker

The TimePicker component displays an input for selecting a time value via a time selection panel. It supports configurable formats, step sizes for hours, minutes, and seconds, and the ability to disable specific time values. In the App Designer, select a TimePicker on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the visual and behavioural properties of the TimePicker.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Default valueTime setter-Sets the initial time value when the component first renders (uncontrolled mode).
Time valueTime setter-Sets the current time value (controlled mode).
SizeRadio group (Small | Medium | Large)MediumSets the size of the TimePicker input.
FormatRadio group (Hh:mm:ss | Hh:mm | Mm:ss)Hh:mm:ssSets the time format displayed in the input and picker panel.
Hourly stepNumber input1Sets the step interval for hour selection in the picker panel.
Minutely stepNumber input1Sets the step interval for minute selection in the picker panel.
Secondly stepNumber input1Sets the step interval for second selection in the picker panel.
Allow clearingToggle switchOnWhen enabled, shows a clear button to remove the selected time.
Disabled hoursFunction Binding-Specifies a function that returns whether a given hour index should be disabled in the picker.
Disabled minutesFunction Binding-Specifies a function that returns whether a given minute index should be disabled in the picker.
Disabled secondsFunction Binding-Specifies a function that returns whether a given second index should be disabled in the picker.

Disabled hours

The Disabled hours property accepts a function with the following signature:

disabledHours(index) {
return [1, 5, 10, 15, 20].indexOf(index) >= 0;
}

Disabled minutes

The Disabled minutes property accepts a function with the following signature:

disabledMinutes(index) {
return [10, 20, 30, 40, 50].indexOf(index) >= 0;
}

Disabled seconds

The Disabled seconds property accepts a function with the following signature:

disabledSeconds(index) {
return [10, 20, 30, 40, 50].indexOf(index) >= 0;
}

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the TimePicker without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the TimePicker's supported events:

    • onChange — Triggered when the selected time value changes
    • onVisibleChange — Triggered when the time picker panel opens or closes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler receives the new time value:

onChange(value) {
// value: the newly selected time value (moment object or time string)
}

The onVisibleChange handler receives the visibility state:

onVisibleChange(visible) {
// visible: true when the panel opens, false when it closes
}

Advanced

For more information, refer to Advanced.

Transfer

The Transfer component displays two panels — a source list and a target list — allowing users to move items between them. It supports normal and simple modes, optional search, drag-and-drop sorting, and a configurable datasource. In the App Designer, select a Transfer on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Transfer.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Current valueText input-Sets the current value of the Transfer component.
Default valueText input-Sets the default value of the Transfer component.
ModeRadio group (Normal | Simple)NormalControls the transfer layout. Normal shows two panels with move buttons. Simple shows a simplified layout.
Allow multiple selectToggle switchOffWhen enabled, shows a select-all checkbox for each panel.
Allow searchingToggle switchOffWhen enabled, shows a search box above each panel.
Search box placeholderi18n setter-Sets the placeholder text for the search input. Only visible when Allow searching is enabled. Supports internationalisation.
Custom search functionFunction Binding-Binds a custom function (filter) to filter items in the search results. Only visible when Allow searching is enabled.
Allow sortingToggle switchOffWhen enabled, allows items in the target panel to be reordered by dragging.
DatasourceJSON setter-Specifies the list of all available items. Each item has a label, value, and optional disabled property.
Default checked values on the leftJSON setter-Sets the item values that are pre-checked in the left (source) panel on first render.
Default checked values on the rightJSON setter-Sets the item values that are pre-checked in the right (target) panel on first render.
Panel titleJSON setter["TitleLeft", "TitleRight"]Sets the titles displayed above the left and right panels. Click "Edit data" to open the JSON editor.
Empty value contenti18n setterNot FoundSets the text displayed when a panel has no items. Supports internationalisation.
Item renderingFunction Binding-Binds a custom render function (itemRender) for each item in the list.

Item rendering

The Item rendering property accepts a function with the following signature:

itemRender(data) {
return <button>{data.label}</button>;
}

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Transfer without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Transfer's supported events:

    • onChange — Triggered when items are moved between panels
    • onSearch — Triggered when text is entered in a search box
    • onSort — Triggered when items are reordered by dragging
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onChange handler is triggered when the value changes:

onChange(value, data, extra) {
// value: array of item values currently in the right panel
// data: array of TransferDataItem objects in the right panel
// extra: additional parameters
}

The onSearch handler is triggered when the search input value changes:

onSearch(searchedValue, position) {
// searchedValue: the current search input text
// position: the panel position being searched
}

The onSort handler is triggered when items are reordered by dragging:

onSort(value, position) {
// value: the reordered array of item values in the right panel
// position: the panel position being sorted, either 'left' or 'right'
}

Advanced

For more information, refer to Advanced.

TreeSelect

The TreeSelect component displays a dropdown input for selecting one or more values from a hierarchical tree structure. It supports single and multiple selection, optional search, and a configurable datasource. In the App Designer, select a TreeSelect on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the TreeSelect.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Default valueSwitch setter (Array setter / i18n setter / Variable input)-Sets the initial selected value(s) when the component first renders (uncontrolled mode). Supports internationalisation.
ValueSwitch setter (Array setter / i18n setter / Variable input)-Sets the current selected value(s) (controlled mode). Supports internationalisation.
DatasourceSwitch Setter (JSON setter / MasterCode setter / Variable input)-Specifies the tree data.
SizeRadio group (Small | Medium | Large)MediumSets the size of the TreeSelect input.
Placeholderi18n setterPlease selectSets the placeholder text displayed when no value is selected. Supports internationalisation.
Labeli18n setter-Sets a custom inline label displayed inside the select input. Supports internationalisation.
Empty value contenti18n setterNot FoundSets the text displayed when no matching tree nodes are found. Supports internationalisation.
DisabledToggle switchOffWhen enabled, prevents user interaction with the TreeSelect.
Show arrowToggle switchOnControls the visibility of the dropdown arrow.
Show borderToggle switchOnControls whether the input has a visible border.
Allow clearingToggle switchOffWhen enabled, shows a clear button to remove the selected value.
Read onlyToggle switchOffWhen enabled, the component is in read-only mode and cannot be edited.
Follow TriggerToggle switchOffWhen enabled, the dropdown scrolls with the trigger element.
Auto widthToggle switchOnWhen enabled, the dropdown width is aligned with the trigger element.
Allow searchingToggle switchOffWhen enabled, shows a search box within the dropdown.
Allow multiple selectToggle switchOffWhen enabled, allows more than one tree node to be selected.
Auto openToggle switchOffWhen enabled, the dropdown opens automatically on first render.
Preview modeToggle switchOffWhen enabled, displays the component in a read-only preview state.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the TreeSelect without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the TreeSelect's supported events:

    • onVisibleChange — Triggered when the dropdown opens or closes
    • onSearchClear — Triggered when the search input is cleared
    • onSearch — Triggered when text is entered in the search box
    • onChange — Triggered when the selected value changes
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onVisibleChange handler receives the visibility state and trigger type:

onVisibleChange(visible, type) {
// visible: true when the dropdown opens, false when it closes
// type: the type of action that triggered the visibility change
}

The onSearchClear handler is called when the search box is cleared:

onSearchClear() {
// Called when the search input is cleared
}

The onSearch handler receives the search keyword:

onSearch(keyword) {
// keyword: the current search input text
}

The onChange handler receives the new selected value:

onChange(value, data) {
// value: the newly selected value
// data: the full data object of the selected item
}

Advanced

For more information, refer to Advanced.

Upload

The Upload component provides a file upload interface. It supports button and card upload shapes, multiple list display types, auto-upload, drag-and-drop, multiple file selection, and configurable file type and count limits. In the App Designer, select an Upload on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Upload.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
Change component typeDropdown (Input | TextArea | Select | Upload | Number Input | DatePicker | Password Input | Checkbox Group| Radio Group)UploadSwitches the component to a different input type. The current component is replaced with the selected type.
Default valueJSON setter-Sets the initial list of uploaded files when the component first renders.
ValueJSON setter-Sets the current list of uploaded files (controlled mode).
Auto uploadToggle switchOnWhen enabled, files are automatically uploaded to the server as soon as they are selected.
DraggableToggle switchOffWhen enabled, users can drag and drop files onto the component to upload them.
MultipleToggle switchOffWhen enabled, multiple files can be selected in the file picker simultaneously.
useDataURLToggle switchOffWhen enabled, selected files are previewed locally using a data URL before uploading.
ShapeRadio group (Button | Card)CardSets the visual shape of the upload trigger. Button shows a button. Card shows a card-style drop zone.
List typeRadio group (Text | Image | Card)-Sets the display style of the uploaded file list.
Target URLText input-Sets the server URL to which files are uploaded.
File typeText input-Restricts the types of files that can be selected, based on MIME type or file extension (for example, .jpg,.png).
Max number of filesNumber input-Sets the maximum number of files that can be uploaded in a single operation.
DisabledToggle switchOffWhen enabled, disables the upload component and prevents file selection.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Upload without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Upload's supported events:

    • beforeUpload — Triggered before an upload begins; return false to cancel
    • onProgress — Triggered during an upload as the file is being sent to the server
    • onSuccess — Triggered when a file upload completes successfully
    • onError — Triggered when a file upload fails
    • onSelect — Triggered when the user selects files in the file picker
    • onDrop — Triggered when files are dropped onto the component
    • onChange — Triggered when the upload status or file list changes
    • afterSelect — Triggered after file selection, used for file validation
    • onRemove — Triggered when a file is removed from the list
    • onPreview — Triggered when a file in the list is previewed
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The beforeUpload handler receives the file and options; return false to prevent the upload:

beforeUpload(file, options) {
// file: the file object about to be uploaded
// options: upload options
// Return false to cancel the upload
}

The onProgress handler receives the file with current progress information:

onProgress(file) {
// file: the file object with current upload progress
}

The onSuccess handler receives the uploaded file and current file list:

onSuccess(file, value) {
// file: the successfully uploaded file object
// value: the current file list
}

The onError handler receives the file with error details and the current file list:

onError(file, value) {
// file: the file object with error information
// value: the current file list
}

The onSelect handler receives the selected files:

onSelect(files) {
// files: the array of files selected by the user
}

The onDrop handler receives the dropped files:

onDrop(files) {
// files: the array of files dropped onto the component
}

The onChange handler receives the file event object:

onChange(info) {
// info: file event object containing the updated file list and status
}

The afterSelect handler receives the file; return false to prevent uploading:

afterSelect(file) {
// file: the selected file object
// Return false to prevent the file from being uploaded
}

The onRemove handler receives the file to be removed; return false to block deletion:

onRemove(file) {
// file: the file object to be removed
// Return false or Promise.resolve(false) to prevent deletion
}

The onPreview handler receives the file to be previewed:

onPreview(file) {
// file: the file object to preview
}

Advanced

For more information, refer to Advanced.

Collapse

The Collapse component displays a set of collapsible panels that can be expanded or collapsed by the user. It supports accordion mode (where only one panel is open at a time), configurable datasource, and controlled or default expanded keys. In the App Designer, select a Collapse on the canvas to configure it through four tab pages in the Settings panel: Props, Styles, Events, and Advanced.

Props

The Props tab contains the structural and behavioural properties of the Collapse.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
DataSourceSwitch Setter (JSON setter / Expression input / Variable input)-Specifies the list of collapse panels. Each item defines a panel's content and key.
Default expanded keysJSON setter["1"]Sets the keys of panels that are expanded on first render (uncontrolled mode).
Expanded keysJSON setter-Sets the keys of currently expanded panels (controlled mode).
DisabledToggle switchOffWhen enabled, prevents all panels from being expanded or collapsed.
AccordionToggle switchOffWhen enabled, only one panel can be expanded at a time; expanding one panel collapses all others.

Collapse.Panel

The Collapse.Panel sub-component represents a single collapsible panel within a Collapse component. Select a Collapse.Panel on the canvas or in the Component Tree to configure its properties.

Its Props tab contains the properties of the Collapse.Panel.

PropertyUI ControlDefaultDescription
Titlei18n setterAuto-generated (for example, Panel1, Panel2)Sets the display title shown on the panel header. Supports internationalisation.
DisabledToggle switchOffWhen enabled, the panel cannot be expanded or collapsed by the user.
Is ExpandedToggle switchOffWhen enabled, the panel is expanded by default.
Keyi18n setterAuto-generatedSets a unique key for the panel, used to identify it within the parent Collapse component. Supports internationalisation.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Events

The Events tab allows you to bind event handlers to the Collapse without writing boilerplate code.

Binding an event

  1. Click "Component native event" to select from the Collapse's supported events:

    • onExpand — Triggered when a panel is expanded or collapsed
  2. The Event Binding window opens, allowing you to select an event and apply parameter settings.

  3. After selecting an event, it appears in the Existing event table.

    You can click the gear icon to edit the action, or click the trash bin icon to delete the binding.

Handler signatures

The onExpand handler receives the expanded keys and the triggering panel key:

onExpand(expandedKeys, key) {
// expandedKeys: array of keys for all currently expanded panels
// key: the key of the panel that was expanded or collapsed
}

Advanced

For more information, refer to Advanced.

Last updated on 20 May 2026