Обновление компонента vue-select при внешнем изменении реквизита v-модели - PullRequest
0 голосов
/ 26 апреля 2019

Я уверен, что собираюсь пнуть себя, когда увижу, в чем проблема, но я пытаюсь использовать vue-select для редактирования поля в выбранном элементе.

По сути, я хочу изменить переданную в v-модели внешнюю по отношению к компоненту и сделать так, чтобы компонент обновил выбранный элемент, а также просмотр.Опция опций не изменяется.

Лучший способ описать проблему - это пример, который я разместил на codesandbox В примере есть список предметов, содержащий название курса и идентификатор сертификации (в реальномжизнь это mongodb objectId).Я хочу иметь возможность выбрать один из этих элементов и отредактировать его с помощью ввода (для названия курса) и v-select для сертификации.У v-select есть список доступных сертификатов с понятным для человека описанием (имя в данном случае), и я хочу иметь возможность использовать раскрывающийся список, чтобы выбрать нужный сертификат и заполнить запись отредактированного элемента.

Все это работаетхорошо, НО, когда я нажимаю "изменить 2-й элемент", раздел редактора обновляет имя курса выбранного элемента, но vue-select не обновляется, чтобы отразить другой выбранный элемент.

Пример автоматически выбирает первый элемент в списке иотображается в разделе «Редактор»; изменение курса или сертификации отражается в нижней части экрана в разделе «Элементы».Нажмите «Изменить 2-й элемент», и я ожидаю, что поле «Курс» изменится на «пункт 2», и в раскрывающемся списке «Сертификация» появится надпись «Профессиональный».

1 Ответ

0 голосов
/ 02 мая 2019

Vue Выберите автора здесь. Это ошибка в версии 3.0: https://github.com/sagalbot/vue-select/issues/855.

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

Я выложу патч в 3.1.1 как можно скорее.

...