Tabs Element

A form example demonstrating how to use the TabsElement in VueForm Laravel to organize form inputs into tabbed sections for better form structure and navigation. Documentation


🧱 Import Class

use VueFormLaravel\Abstracts\VueFormBuilder;
use VueFormLaravel\Elements\Fields\TextElement;
use VueFormLaravel\Elements\Tabs\FormTabElement;
use VueFormLaravel\Elements\Vueform;

🧩 Example

class TabsElementForm extends VueFormBuilder
{
    protected function buildForm()
    {
        return Vueform::build()
            ->tabs([
                FormTabElement::name('tab1')
                    ->label('tab1')
                    ->elements([
                        'input'
                    ]),
                FormTabElement::name('tab2')
                    ->label('tab2')
                    ->elements([
                        'input2'
                    ])
            ])
            ->schema([
                TextElement::name('input')->rules('required'),
                TextElement::name('input2'),
                TextElement::name('input3')
            ]);
    }
}

⚡ Events

You can define custom tabs element events Documentation directly in PHP using the ->events() method.

Each event value refers to a JavaScript function name.

These functions must be defined inside:

public/vueform-laravel/vueform-custom.js

This allows you to extend or override default behaviors for your generated VueForm components

Name Parameters Description
select - {component} activeTab$ - the active tab
- {component} previousTab$ - the previously active tab
Triggered when a tab becomes active.

🔔 Example Usage of event (PHP)

TabsElement::name('example')
    ->events([
        'select' => 'handleSelect',
    ])

🔔 Example Usage of event(JavaScript)

function handleSelect(activeTab$, previousTab$) {
    // Your code here
}