MultiselectElement
A form demonstrating usage of the MultiselectElement field within Laravel VueForm. Documentation
🧱 Import Class
use VueFormLaravel\Abstracts\VueFormBuilder;
use VueFormLaravel\Elements\Fields\MultiselectElement;
use VueFormLaravel\Elements\Vueform;
🧩 Example
class MultiselectElementForm extends VueFormBuilder
{
protected function buildForm()
{
return Vueform::build()
->schema([
MultiselectElement::name('foo')
]);
}
}
⚙️ Allowed Attributes
| Name | Data Type | Default | Example |
|---|---|---|---|
| addClass | array|object|string|function |
null | MultiselectElement::name("name")->addClass() |
| addClasses | object|function |
{} | MultiselectElement::name("name")->addClasses() |
| addOptionOn | array |
["enter"] | MultiselectElement::name("name")->addOptionOn() |
| after | object|string|number |
null | MultiselectElement::name("name")->after() |
| allowAbsent | boolean |
false | MultiselectElement::name("name")->allowAbsent() |
| appendNewOption | boolean |
true | MultiselectElement::name("name")->appendNewOption() |
| appendTo | string |
undefined | MultiselectElement::name("name")->appendTo() |
| appendToBody | boolean |
false | MultiselectElement::name("name")->appendToBody() |
| attrs | object |
{} | MultiselectElement::name("name")->attrs() |
| autocomplete | string |
undefined | MultiselectElement::name("name")->autocomplete() |
| before | object|string|number |
null | MultiselectElement::name("name")->before() |
| between | object|string|number |
null | MultiselectElement::name("name")->between() |
| canClear | boolean |
true | MultiselectElement::name("name")->canClear() |
| caret | boolean |
true | MultiselectElement::name("name")->caret() |
| clearOnRefetch | boolean |
true | MultiselectElement::name("name")->clearOnRefetch() |
| clearOnSearch | boolean |
false | MultiselectElement::name("name")->clearOnSearch() |
| clearOnSelect | boolean |
false | MultiselectElement::name("name")->clearOnSelect() |
| closeOnDeselect | boolean |
false | MultiselectElement::name("name")->closeOnDeselect() |
| closeOnSelect | boolean |
true | MultiselectElement::name("name")->closeOnSelect() |
| columns | object|string|number |
null | MultiselectElement::name("name")->columns() |
| conditions | array |
[] | MultiselectElement::name("name")->conditions() |
| create | boolean |
false | MultiselectElement::name("name")->create() |
| dataKey | string |
undefined | MultiselectElement::name("name")->dataKey() |
| default | array |
[] | MultiselectElement::name("name")->default() |
| delay | number |
-1 | MultiselectElement::name("name")->delay() |
| description | string|object |
null | MultiselectElement::name("name")->description() |
| disabled | boolean|function|array|object |
false | MultiselectElement::name("name")->disabled() |
| displayErrors | boolean |
true | MultiselectElement::name("name")->displayErrors() |
| extendOptions | object |
{} | MultiselectElement::name("name")->extendOptions() |
| fieldName | string|object |
name | label |
| filterResults | boolean |
true | MultiselectElement::name("name")->filterResults() |
| floating | string|boolean|object |
null | MultiselectElement::name("name")->floating() |
| formatData | function |
null | MultiselectElement::name("name")->formatData() |
| formatLoad | function |
null | MultiselectElement::name("name")->formatLoad() |
| groupHideEmpty | boolean |
false | MultiselectElement::name("name")->groupHideEmpty() |
| groupLabel | string |
label | MultiselectElement::name("name")->groupLabel() |
| groupOptions | string |
items | MultiselectElement::name("name")->groupOptions() |
| groupSelect | boolean |
true | MultiselectElement::name("name")->groupSelect() |
| groups | boolean |
false | MultiselectElement::name("name")->groups() |
| hideSelected | boolean |
true | MultiselectElement::name("name")->hideSelected() |
| id | string |
null | MultiselectElement::name("name")->id() |
| info | string|object |
null | MultiselectElement::name("name")->info() |
| infoPosition | string |
right | MultiselectElement::name("name")->infoPosition() |
| inline | boolean |
false | MultiselectElement::name("name")->inline() |
| inputType | string |
text | MultiselectElement::name("name")->inputType() |
| items | object|array|function|string |
{} | MultiselectElement::name("name")->items() |
| label | string|object|function |
null | MultiselectElement::name("name")->label() |
| labelProp | string |
label | MultiselectElement::name("name")->labelProp() |
| limit | number |
-1 | MultiselectElement::name("name")->limit() |
| loading | boolean |
false | MultiselectElement::name("name")->loading() |
| max | number |
-1 | MultiselectElement::name("name")->max() |
| messages | object |
{} | MultiselectElement::name("name")->messages() |
| minChars | number |
0 | MultiselectElement::name("name")->minChars() |
| multipleLabel | function |
undefined | MultiselectElement::name("name")->multipleLabel() |
| multipleLabelMultiple | string |
locale.vueform.multiselect.multipleLabelMore | MultiselectElement::name("name")->multipleLabelMultiple() |
| multipleLabelSingle | string |
locale.vueform.multiselect.multipleLabelOne | MultiselectElement::name("name")->multipleLabelSingle() |
| name | string|number |
undefined | MultiselectElement::name("name")->name() |
| native | boolean |
true | MultiselectElement::name("name")->native() |
| noOptionsText | string|object |
locale.multiselect.noOptions | MultiselectElement::name("name")->noOptionsText() |
| noResultsText | string|object |
locale.multiselect.noResults | MultiselectElement::name("name")->noResultsText() |
| object | boolean |
false | MultiselectElement::name("name")->object() |
| openDirection | string |
bottom | MultiselectElement::name("name")->openDirection() |
| overrideClass | array|object|string|function |
null | MultiselectElement::name("name")->overrideClass() |
| overrideClasses | object|function |
{} | MultiselectElement::name("name")->overrideClasses() |
| placeholder | string|object |
null | MultiselectElement::name("name")->placeholder() |
| presets | array |
[] | MultiselectElement::name("name")->presets() |
| removeClass | array|object|function |
null | MultiselectElement::name("name")->removeClass() |
| removeClasses | object|function |
{} | MultiselectElement::name("name")->removeClasses() |
| replaceClass | object|function |
null | MultiselectElement::name("name")->replaceClass() |
| replaceClasses | object|function |
{} | MultiselectElement::name("name")->replaceClasses() |
| resolveOnLoad | boolean |
true | MultiselectElement::name("name")->resolveOnLoad() |
| rules | array|string|object |
null | MultiselectElement::name("name")->rules() |
| search | boolean |
false | MultiselectElement::name("name")->search() |
| searchParam | string |
query | MultiselectElement::name("name")->searchParam() |
| size | string |
undefined | MultiselectElement::name("name")->size() |
| slots | object |
{} | MultiselectElement::name("name")->slots() |
| strict | boolean |
true | MultiselectElement::name("name")->strict() |
| submit | boolean |
true | MultiselectElement::name("name")->submit() |
| templates | object |
{} | MultiselectElement::name("name")->templates() |
| trackBy | string|array |
label | MultiselectElement::name("name")->trackBy() |
| valueProp | string |
value | MultiselectElement::name("name")->valueProp() |
| view | string |
undefined | MultiselectElement::name("name")->view() |
| views | object |
{} | MultiselectElement::name("name")->views() |
⚡ Events
The following events Documentation are available for this element:
| Name | Parameters | Description |
|---|---|---|
reset |
- {component} el$ - the element's component | Triggered when the input is resetted. |
clear |
- {component} el$ - the element's component | Triggered when the input is cleared. |
change |
- {string} newValue - the new value - {string} oldValue - the old value - {component} el$ - the element's component |
Triggered when the element's value is changed. |
select |
- {object} option - the selected option - {component} el$ - the element's component |
Triggered when an option is selected when using native: false. |
deselect |
- {object} option - the deselected option - {component} el$ - the element's component |
Triggered when an option is deselected when using native: false. |
search-change |
- {string | null} searchQuery - the search value - {component} el$ - the element's component |
open |
- {component} el$ - the element's component | Triggered when the dropdown list is opened when using native: false. |
close |
- {component} el$ - the element's component | Triggered when the dropdown list is closed when using native: false. |
paste |
- {Event} event - the paste Event - {component} el$ - the element's component |
Triggered when text is pasted to the search input when using search: true. |
beforeCreate |
- {component} el$ - the element's component | Triggered in beforeCreate hook. |
created |
- {component} el$ - the element's component | Triggered in created hook. |
beforeMount |
- {component} el$ - the element's component | Triggered in beforeMount hook. |
mounted |
- {component} el$ - the element's component | Triggered in mounted hook. |
beforeUpdate |
- {component} el$ - the element's component | Triggered in beforeUpdate hook. |
updated |
- {component} el$ - the element's component | Triggered in updated hook. |
beforeUnmount |
- {component} el$ - the element's component | Triggered in beforeUnmount (or beforeDestroy in Vue 2) hook. |
unmounted |
- {component} el$ - the element's component | Triggered in unmounted (or destroyed in Vue 2) hook. |
🔔 Example Usage of PHP
MultiselectElement::name('example')
->events([
'reset' => 'handleReset',
'clear' => 'handleClear',
'change' => 'handleChange',
'select' => 'handleSelect',
'deselect' => 'handleDeselect',
'search-change' => 'handleSearchChange',
'open' => 'handleOpen',
'close' => 'handleClose',
'paste' => 'handlePaste',
'beforeCreate' => 'handleBeforeCreate',
'created' => 'handleCreated',
'beforeMount' => 'handleBeforeMount',
'mounted' => 'handleMounted',
'beforeUpdate' => 'handleBeforeUpdate',
'updated' => 'handleUpdated',
'beforeUnmount' => 'handleBeforeUnmount',
'unmounted' => 'handleUnmounted',
])
🔔 Example Usage of JavaScript
function handleReset(el$) {
// Your code here
}
function handleClear(el$) {
// Your code here
}
function handleChange(newValue, oldValue, el$) {
// Your code here
}
function handleSelect(option, el$) {
// Your code here
}
function handleDeselect(option, el$) {
// Your code here
}
function handleSearchChange(searchQuery, el$) {
// Your code here
}
function handleOpen(el$) {
// Your code here
}
function handleClose(el$) {
// Your code here
}
function handlePaste(event, el$) {
// Your code here
}
function handleBeforeCreate(el$) {
// Your code here
}
function handleCreated(el$) {
// Your code here
}
function handleBeforeMount(el$) {
// Your code here
}
function handleMounted(el$) {
// Your code here
}
function handleBeforeUpdate(el$) {
// Your code here
}
function handleUpdated(el$) {
// Your code here
}
function handleBeforeUnmount(el$) {
// Your code here
}
function handleUnmounted(el$) {
// Your code here
}