# Introduction
The <zinq:textarea>
component is a simple wrapper around the native <textarea>
element. It supports all the native textarea attributes.
# Usage
There are no required children of the <zinq:textarea>
component.
<zinq:textarea class="max-w-md" />
# Customization
See all available customization options for the Textarea component.
# Label
Like many other form components, the Textarea component can have a label. You can set the label by using the label
attribute.
<zinq:textarea label="Message" class="max-w-md" />
# Placeholder
You can set a placeholder text for the textarea field by using the placeholder
attribute.
<zinq:textarea placeholder="Your message" class="max-w-md" />
# Sizing
The Textarea component comes in three sizes: default
, sm
, and lg
. By default, the size is default
.
<div class="flex flex-col space-y-3">
<zinq:textarea size="sm" placeholder="Your message" class="max-w-md" />
<zinq:textarea placeholder="Your message" class="max-w-md" />
<zinq:textarea size="lg" placeholder="Your message" class="max-w-md" />
</div>
# Focus
You can use focus
attribute to make the field focused. This way the field will be focused when the page is loaded.
It is useful when you want to focus on the textarea field when the page is loaded or modal is opened.
<zinq:textarea focus class="max-w-md" />
# Livewire
You can use the wire:model
directive to bind the Textarea to a Livewire property.
<zinq:textarea wire:model="message" />
# Live
You can also use wire:model.live
to update the model on every textarea change.
public string $message = '';
public function save(): void
{
}
public function render(): string
{
return <<<HTML
<div>
<div class="mb-4 flex items-center space-x-2">Your message: {$this->message}</div>
<zinq:form action="save">
<zinq:form.textarea wire:model="message" />
<zinq:button class="mt-6">Save</zinq:button>
</zinq:form>
</div>
HTML;
}
# Validation errors
The Textarea component will automatically display validation errors for you when wire:model
attribute is used.
#[Rule('required|min:200')]
public string $message = '';
public function save(): void
{
$this->validate();
}
public function render(): string
{
return <<<HTML
<zinq:form action="save">
<zinq:textarea wire:model="message" placeholder="Enter your message" />
<zinq:button>Save to see validation error</zinq:button>
</zinq:form>
HTML;
}
# Manual validation errors
Or you can manually display validation errors by using the error
attribute.
Your message is too short!
<zinq:textarea error="Your message is too short!" class="max-w-md" />