В последней версии 2.5.1 из vue-select
я вижу реквизиты вроде filterBy
и filter
.Я думаю, что вы можете использовать только filterBy
для достижения того, что вы хотите.Из комментариев исходного кода:
Обратный вызов, чтобы определить, должна ли предоставленная опция соответствовать текущему тексту поиска.Используется для определения необходимости отображения опции.
Вот пример (поиск по name
и lastname
даже без метки):
Vue.component('v-select', VueSelect.VueSelect)
new Vue({
el: '#app',
data: {
options: [{ label: "1", name: "John", lastname: "Johnson" }, { label: "2", name: "Justin", lastname: "Well" }],
myFilter: (option, label, search) => {
let temp = search.toLowerCase();
return option.name.toLowerCase().indexOf(temp) > -1 ||
option.lastname.toLowerCase().indexOf(temp) > -1
}
}
})
<script src="http://unpkg.com/vue@2.5.2"></script>
<script src="http://unpkg.com/vue-select@2.5.1"></script>
<div id="app">
<h2>VueSelect Basic Example</h2>
<v-select :options="options" :filter-by="myFilter"></v-select>
</div>
Ссылки на строки реквизитов исходного кода:
filterBy
filter