Как запретить Vue Select выделять первый вариант?

#javascript #vue.js #vue-select

#javascript #vue.js #vue-select

Вопрос:

Я использую Vue Select в качестве компонента typeahead. Он выполняет выборку AJAX на сервер.

По умолчанию он выделяет первый вариант, который возвращается с сервера:

введите описание изображения здесь

Вместо этого я бы хотел, чтобы он работал так же, как элемент управления Google typeahead в моем браузере. Первый вариант не выделен. Вместо этого вам нужно один раз нажать стрелку вниз, чтобы выделить ее.

Причина в том, что я хочу, чтобы пользователь мог ввести поиск и нажать ENTER , чтобы получить полный результат поиска (для «stan» в примере выше, ИЛИ нажмите стрелку вниз один или несколько раз, и нажмите ENTER , и выполните поиск по выбранному варианту.

Как мне заставить Vue Select не выделять этот первый вариант?

(Похоже, это как-то связано с указателем typeAheadPointer в data() для vue-select , но это все, что я смог выяснить.)

Ответ №1:

Я не вижу возможности отключить выделение, но вы можете настроить его так, чтобы он соответствовал цвету фона и текста окружающих элементов, что эффективно скрывает выделение. Например, если другие элементы черные на белом:

 .vs__dropdown-option--highlight {
  background-color: white;
  color: black;
}
  

ДЕМОНСТРАЦИЯ

Однако это будет иметь побочный эффект полного отключения подсветки, что неудобно для пользователя при навигации с клавиатуры.

Ответ №2:

Для будущих посетителей Джефф Сагал говорит, что вы не можете сделать это в текущем выпуске, но вы сможете сделать это в следующем крупном выпуске:

https://github.com/sagalbot/vue-select/issues/1312