Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Multiselect vue как сделать поиск только с начала слова?  [new]
SweetApple
Member

Откуда: г.Жуковский
Сообщений: 86
Всем привет!
Столкнулась в проблемой поиска в Multiselect vue.

Имеем:

автор
var arr2 = [
{name:'Авиамоторная', color:'yellow'},
{name:'Автозаводская', color:'green'},
{name:'Академическая', color:'orange'}
];

var vueSelect2 = new Vue({
components: {
Multiselect: window.VueMultiselect.default
},
data: {
value: {name:''},
options: arr2
},
methods: {
customLabel ({ img, name }) {
return `${name}`
},
},
}).$mount('#select');


Пользователь вводит, к примеру "ви"... и в выпадающем списке "Авиамоторная".
Нужно сделать так, чтобы поиска был только с начала слова, не в середине, чтобы в случае с "ви", пользователь ничего не нашел.
Как это сделать?
10 дек 18, 23:00    [21759649]     Ответить | Цитировать Сообщить модератору
 Re: Multiselect vue как сделать поиск только с начала слова?  [new]
SQLPowerUser
Member

Откуда: ссылка в профиле
Сообщений: 288
SweetApple,

скачал исходники, в файле multiselectMixin.js есть функция
function includes (str, query) {
  /* istanbul ignore else */
  if (str === undefined) str = 'undefined'
  if (str === null) str = 'null'
  if (str === false) str = 'false'
  const text = str.toString().toLowerCase()
  return text.indexOf(query.trim()) !== -1
}

Надо дописать, чтобы искал по первым буквам. Один из вариантов, найденных в гугле: https://jsfiddle.net/2k08moeo/4/

з.ы. когда я снова буду на форуме - не знаю...
11 дек 18, 12:46    [21760140]     Ответить | Цитировать Сообщить модератору
 Re: Multiselect vue как сделать поиск только с начала слова?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15844
SQLPowerUser,

https://jsfiddle.net/2k08moeo/47/
11 дек 18, 13:51    [21760269]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить