У меня есть в основном работающий мультиселект Vue, в котором я использую функцию автозаполнения через вызов axios в базу данных. Что касается возврата результатов БД и добавления их в качестве параметров, а затем тегов, он работает отлично.
Моя проблема в том, что я не могу создавать новые теги. Поэтому, если мой вызов axios возвращает «Testing one» в качестве опции, и я выбираю его, он становится тегом. Тем не менее, если результаты не возвращаются, когда я набираю «новый тест» и нажимаю клавишу ввода, он не становится новым тегом.
Что я делаю не так?
<div id="tagApp">
<multiselect
label="tag_data"
track-by="campaign_tag_id"
v-model="value"
:options="options"
:loading="loading"
:multiple="true"
:taggable="true"
@search-change="val => read(val)"
></multiselect>
</div>
new Vue({
components: {
Multiselect: window.VueMultiselect.default
},
el: "#tagApp",
data() {
return{
value: [],
loading: false,
options: []
}
},
methods: {
read: function(val){
//console.log('searched for', val);
if (val) {
this.loading = true;
this.options = [];
const self = this;
console.log(val);
axios.get('campaigns/search',{params: {query: val}})
.then(function (response) {
self.options = response.data;
console.log(response.data);
});
} else {
this.options = [];
}
}
}
})