Livewire component for searchable select inputs
You can install the package via composer:
composer require mitratek/livewire-select
LivewireSelect in your livewire component:<?php
namespace App\Http\Livewire\CreateUser
use Livewire\Component;
use Mitratek\LivewireSelect\LivewireSelect;
class CreateUser extends Component
{
use LivewireSelect;
// set properties to get selected value from LivewireSelect
public $country_id;
}
livewire-select component in your blade view, and pass in a parameters:
<livewire:select-input name='country_id' model='\App\Models\Country' search='["name", "region"]' show='{id} - {name}' value='id' placeholder='Choose country' />
Or you can pass collection data into select-input like below:
<livewire:select-input name='country_id' collection='{!! $countries !!}' search='["name", "region"]' show='{id} - {name}' value='id' placeholder='Choose country' />
| Property | Arguments | Result | Example |
|---|---|---|---|
| name | String - required property name | Define the property name | name='country_id' |
| model or collection | String - required full model name or Collection - required full collection | Define the source of data that will be select, you must choose one between model or collection | model='App\Models\Country' or collection='{!! $countries !!}' |
| search | Array - required search column | Define the column in model that want to be searched | search='["name", "region"]' |
| show | String - required show column | Define the column in model that want to be show in select option | show='{id} - {name}' |
| value | String - required set value | Define the column name as a value data that will be selected | value='id' |
| placeholder | String - optional placeholder name | Define the placeholder for select input | placeholder='Select Country' |
| min | String - optional minimum character | Define minimum character | min='5' |
| parent | String - optional parent of select | Define parent of current select box, this option will make current select depend with the other | parent='planet_id' |
How can I help you explore Laravel packages today?