Skip to content

Text input - Web Component

The TextInput component can be used imported from:

Playground

Parameters

The Web component uses the <z-text-input> tag:

By default, all the parameters are optional or can be set in different, except for the ones marked as required

The parametrization of the component can be done with the following custom HTML params:

NameTypeDescriptionSlotA11y
configstring

The main parameter has two components following the pattern: <shape><?:size>.

  • shape: Establishes the styling of the input. Default value is line . Possible values are: shaped or line. ,
  • size: (optional) defines de size of the input. The default value is m, being omitted from the param. The possible values are: m or l.
labelstringLabel of the inputlabel
placeholderstringPlaceholder of the input
readonlybooleanTransforms the input into an output
autocompletestringAutomated assistance in filling out form field values
modelstringValue of the model
disabledbooleanBlocks the interaction with the input component.
requiredbooleanMarks the input component as required.
namestringIdentification for the field inside the form
help-textstringThe forced message to be shown under the inputhelp-text
invalidbooleanThe forced state for set the input as invalid
max-lengthnumberThe maximum number of characters allowed in the input
input-typestring The type of input. Possible values are:
  • text: it will handle a single line of text.
  • tel: it will handle a telephone number.
  • email: it will handle an email address.
  • url: it will handle an URL.
data-liststring[]Presents a list of suggestions for the inputdefault

Events

This component has events. Check the documentation about how to use the events.

NamePayloadDescription
changestringReturns the new value of the "value" attribute
entervoidTriggered when "Enter" in pressed
restartedvoidEmitted on value reset

Slots

This component has slots. Check the documentation about how to use the slots.

NameTagsDescription
defaultspan
labelspan
help-textspan

Parameters use

config

The config parameter is used to set the shape of the input between lined and shaped. Being omitted will render the default line shape.

label

The label parameter is used to set the text label of the component. Make sure you always use it.

Can also use the label slot:

Text input

model

The model parameter is used to set the text for the input.

name

The name parameter is used to set the name of the component. This is useful when the component is part of a form.

help-text

The help-text parameter is used to provide additional assistance to the user.

input-type

The input-type parameter is used to set the type of input. Possible values are: text, tel, email and url.

icon

The icon parameter is used to set an icon to the input. The icon will be displayed on the right side of the input.

max-length

The max-length parameter is used to set the maximum number of characters that the user can input. A counter will be displayed below the input.

data-list

The data-list parameter is used to set a list of suggestions for the input. The list must be an array of strings.

Or using the default slot with <option> tags:

Flags

disabled

The disabled parameter is used to block the interaction with the component. Not to be confused with readonly.

readonly

The readonly parameter is used to set the input in a read-only state. It's commonly used to display information.

required

The readonly parameter is used to set the input in a read-only state. It's commonly used to display information.

invalid

The invalid parameter is used to set the component as invalid.

align-right

The align-right parameter aligns the input text to the right:

It can de combined with icon:

Methods

reset()

We can all the reset() method of the WebComponent in order to reset the value. This will clean the internal states and emit the nullable value with the change event, plus a restarted event:

In this example, the button triggers the method:

Value:  undefined

Special uses

We can use the TextInput as a search, where the data-list are the available terms and then listening to the right events to trigger the search action:

Tip

You can selectively pass data-list only if a certain length has been reached in input, or even filtering, slicing, or sorting the data-list dynamically

Combined inputs

We can combine different inputs to achieve more control over the inputs:

@

Tip

This approach allows individual or combinational validation in addition to the more restrictive input options. The validation of one field can be dependant on the other or vice versa, ensuring more robust forms in the frontend side.

Browser support

Detected engine:  

  • Chromium

  • Webkit

  • Gecko

HTML Examples

CodeSandbox example