У меня есть отлично работающий экземпляр мультиселекта vue, который просматривает мои параметры данных, но также позволяет мне пометить / добавить свой собственный параметр, если его нет в списке
<div id="tagContent">
<multiselect v-model="value" open-direction="bottom" :options="options" tag-placeholder="Add this as new tag" :multiple="true" :taggable="true" @tag="addTag" :close-on-select="false" :clear-on-select="false" :preserve-search="true" placeholder="Choose Tag(s)" label="name" track-by="code">
<template slot="selection" slot-scope="{ values, search, isOpen }"><span class="multiselect__single" v-if="values.length && !isOpen">{{ values.length }} options selected</span></template>
</multiselect>
</div>
new Vue({
components: {
Multiselect: window.VueMultiselect.default
},
data () {
return {
value: [],
options: [
{ tag: '1', name: 'TestOne'},
{ tag: '2', name: 'TestTwo'},
{ tag: '3', name: 'TestThree'},
{ tag: '123', name: 'TestFour'},
]
}
},
methods: {
addTag (newTag) {
const tag = {
name: newTag,
code: newTag.substring(0, 2) + Math.floor((Math.random() * 10000000))
}
this.options.push(tag)
this.value.push(tag)
}
}
}).$mount('#tagContent');
Проблема в том, что у меня в контроллере есть функция для этого блейда, которая попадает в мою базу данных с помощью поискового запроса. Это работает, поэтому, если я установлю $ s на слово и дам дамп возврата, я получу любой результат с этим словом. У меня вопрос: как я могу связать поиск моего мультиэлемента с этой функцией, чтобы я мог активно искать результаты в этом, а не в жестко закодированном списке?
public function searchTags()
{
$s = "%" . Input::get('tagSearch') . "%";
$search = CampaignTags::where('TAG_DATA', 'LIKE', $s)->get();
return json_encode($search);
}