Я использую Vuetify
и его компонент v-select
с включенной опцией multiple
, позволяющей выбрать несколько опций.
Эти параметры представляют пулы талантов (кандидатов) для моего программного обеспечения CRM.
Что нужно сделать, так это то, что когда проверяется какая-то опция в v-select, кандидаты из проверенного пула талантов выбираются из API и сохраняются в некотором массиве (назовем это markedCandidates
), а когда опция не выбрана, кандидаты из этого пула нужно удалить из массива markedCandidates
.
Проблема в том, что события @change
или @input
возвращают полный список выбранных параметров. Мне нужно, чтобы он возвращал только выбранный / не выбранный пул и информацию, если он выбран или отменен, для возможности обновления массива markedCandidates
.
Мой существующий код:
<v-select return-object multiple @change="loadCandidatesFromTalentPool" v-model="markedCandidates" :item-text="'name'" :item-value="'name'" :items="talentPoolsSortedByName" dense placeholder="No pool selected" label="Talent Pools" color='#009FFF'>
<template slot="selection" slot-scope="{ item, index }">
<span v-if="index === 0">{{ item.name }}</span>
<span v-if="index === 1" class="grey--text caption othersSpan">(+{{ talentPools.length - 1 }} others)</span>
</template>
</v-select>
Есть идеи, как это решить?
Как я уже сказал, loadCandidatesFromTalentPool(change)
возвращает полный массив v-model
(markedCandidates
) ..
EDIT:
Я нашел это решение, это скорее обходной путь, было бы неплохо, если бы для этой ситуации было выделено событие:
https://codepen.io/johnjleider/pen/OByoOq?editors=1011