Form Components

Native Select

By default, selection will look up for:

  • $object->id for option value.
  • $object->name for option label.


# Basic usage

@php
$users = App\Models\User::all('id', 'name'); // OR
// $users = App\Models\User::pluck('name', 'id');
@endphp
 
<x-native-select label="Users" wire:model="user_id" :options="$users" />

# Customize option attributes

New
@php
$users = App\Models\User::all('id', 'bio')->take(5);
@endphp
 
<x-native-select
wire:model="user_id"
:options="$users"
option-value="id"
option-label="bio"
/>

# Custom placeholder

@php
$users = App\Models\User::all('id', 'name');
@endphp
 
<x-native-select
wire:model="user_id"
:options="$users"
placeholder="Select user"
/>

# Without placeholder

New
@php
$users = App\Models\User::all('id', 'name');
@endphp
 
<x-native-select
wire:model="user_id"
:options="$users"
without-placeholder
/>

# Custom slot

@php
$users = App\Models\User::all('id', 'name');
@endphp
 
<x-native-select label="Select user">
<option value="">Choose user</option>
 
@foreach ($users as $user)
<option value="{{ $user->id }}"> {{ $user->name }} </option>
@endforeach
</x-native-select>

# With hint

Only one user can be select

@php
$users = App\Models\User::all('id', 'name');
@endphp
 
<x-native-select wire:model="user_id" :options="$users" hint="Only one user can be select" />

# Size variants

@php
$users = App\Models\User::all('id', 'name');
@endphp
 
<x-native-select placeholder="Default" :options="$users" xs />
<x-native-select placeholder="Small" :options="$users" sm />
<x-native-select placeholder="Medium" :options="$users" md />
<x-native-select placeholder="Large" :options="$users" lg />
<x-native-select placeholder="Extra large" :options="$users" xl />

# With enum class

New
@php
// enum UserRolesEnum: string
// {
// case Admin = 'admin';
// case User = 'user';
// case Moderator = 'moderator';
 
// public static function options(): array
// {
// return array_column(self::cases(), 'name', 'value');
// }
// }
@endphp
 
<x-native-select wire:model="role" :options="App\Enums\UserRolesEnum::options()" />
Code highlighting powered by Torchlight