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()" />