Skip to main content

ListInput

Repeatable list of input components that can be dynamically added or removed.

Examples

Basic Usage

This example runs a form with a single page containing the widget

Example Code

from abstra.forms import ListInput, NumberInput, TextInput, run

item_template = [
TextInput("Item Name", key="item_name"),
NumberInput("Item Quantity", key="item_quantity"),
]

# Create a page with the widget
example_page = [ListInput(key="my-list", template=item_template, min=2)]

# Run the form
result = run([example_page])

# Print the result
print(result)

Parameters

NameDescriptionTypeDefault
key (required)Identifier for the widget.strNone
template (required)Template or function that returns a template for each list item.Union[Template, TemplateFunction]None
minMinimum number of items required.int0
maxMaximum number of items allowed.intNone
hintHelp text displayed below the input.strNone
add_button_textText displayed on the button to add a new item.str'+'
full_widthWhether the input should take up the full width of its container.boolFalse
requiredWhether at least one item is required.boolTrue
disabledWhether the input is non-interactive.boolFalse
errorsPre-defined validation error messages to display.Union[List[str], str]None