asantibanez / livewire-select

Livewire component for dependant and/or searchable select inputs
MIT License
503 stars 96 forks source link

Add support for `multiple` attribute #37

Open bfiessinger opened 3 years ago

bfiessinger commented 3 years ago

reopened #34 on new branch. This PR adds the ability to select multiple values.

By adding the multiple attribute on the component the select input turns into a multi-select dropdown.

<livewire:car-model-select
    name="car_model_ids[]"
    placeholder="Choose a Car Model"
    :multiple="true"
/>

Example: multiselect

To include the required assets I've also made some small changes on the blade directives.

Both directives now support options where you can set which assets should be loaded.

...
    @livewireSelectStyles 
    <!-- 
         loads all styles defined in Asantibanez\LivewireSelect\LivewireSelect->css.
         omit this directive completely if Livewire::styles() and tailwindcss is already included on the page
     -->
</head>
<body>
    ...

    @livewireSelectScripts(alpine, livewire-select-multiple) 
    <!-- loads only alpinejs, livewire-select-multiple and the default required livewire-select-->
</body>
</html>

also closes #22 by 25f5147

bfiessinger commented 3 years ago

According to #39 where the initial value is nulled for dependant selects I already built something to make it work on this multiple input too. Please merge #39 and #37 first so I can push the next step.

mydnic commented 3 years ago

@asantibanez is this something you plan to merge ? Just to know if I wait for it or if I implement another solution in the app I'm currently working on :)

Thank a lot