В Laravel получаю данные с помощью модели.
public function onSearch(Request $request){
$search = Model::where('text', 'LIKE', '%'.$request->search.'%')->get();
return response()->json(['search' => $search]);
}
В компоненте VUE делаю следующее:
<template>
<v-select
:v-model="option"
:filterable="false"
:options="options"
@search="onSearch">
<template slot="no-options">
search
</template>
<template slot="option" slot-scope="option">
<div class="d-center">
{{ option.short_name }}
</div>
</template>
<template slot="selected-option" slot-scope="option">
<div class="selected d-center">
{{ option.short_name }}
</div>
</template>
</v-select>
</template>
<script>
import axios from 'axios'
import _ from 'lodash'
export default {
data() {
return {
option: null,
options: [],
}
},
methods: {
onSearch(search, loading) {
loading(true);
this.search(loading, search, this);
},
search: _.debounce((loading, search, vm) => {
let formData = new FormData();
formData.append('search', search);
axios.post('/search', formData).then(response => {
vm.options = response.data.search;
loading(false);
});
}, 350)
}
}
</script>
При запуске кода в селекте данные находятся и выводятся в селект, но если например решил изменить выбранный селект, то поиск новых данных срабатывает, но при выборе, повторно они не выбираются. Если нажать крестик справа и занового выборку сделать, то тогда срабатывает.
Сама документация:
https://vue-select.org/guide/ajax.html#loading-opt...
Есть также на сайте с документацией пример:
https://codepen.io/sagalbot/pen/POMeOX
Пробовал этот пример сделать, работает нормально ни каких нареканий.
Собственно повторно не выбирается значение, что сделал не так? Подскажите пожалуйста. Спасибо.