Ограничение выбора
Параметр Selectable
Параметр selectable
определяет, является ли опция выбираемой или нет. Если selectable
возвращает значение false для данной опции, она будет отображаться с классом vs__dropdown-option--disabled
. Опция будет отключена и ее невозможно будет выбрать.
selectable: {
type: Function,
/**
* @param {Object|String} option
* @return {boolean}
*/
default: option => true,
},
В примере selectable
используется для предотвращения выбора книг определенного автора. Параметры, передаваемые компоненту, являются объектами:
{
"title": "Right Ho Jeeves",
"author": { "firstName": "P.D", "lastName": "Woodhouse" }
}
Этот объект будет передан в selectable
, чтобы мы могли проверить, должен ли автор быть выбранным или нет.
<template>
<v-select
placeholder="Choose a book to read"
label="title"
:options="books"
:selectable="(option) => !option.author.lastName.includes('Woodhouse')"
/>
</template>
Ограничения количества выбранных опций
selectable
также может быть использована, чтобы ограничить количество вариантов, которые могут быть выбраны в компоненте. В этом случае пользователь может выбрать любого автора, но может выбрать максимум три книги.
<template>
<v-select
v-model="selected"
multiple
placeholder="Choose up to 3 books!"
label="title"
:options="books"
:selectable="() => selected.length < 3"
/>
</template>