randomizex
@randomizex
http://resume.web-ivan.ru

Как изменить input value vue.js компонента из другого js?

Есть форма на vue.js. Есть на странице карта jqyery планином. Надо подставлять в texarea адреса выбранных пунктов на карте.
Делаю так:
let $addres = $('#address');
if($addres.length){
   $addres.val("Мои данные").change();                
}

Даже вызываю событие change у texarea.
Данные подставляются но если попытаться отправить форму или внести какие-то правки в другие поля, подставленные данные стираются из этого поля. Если попробовать их внести вручную то все ок.
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
$addres.val("Мои данные").change();

Во-первых - события jquery и нативные не являются взаимозаменяемыми. Само собой, про первые Vue не в курсе.

Во-вторых - по умолчанию Vue слушает событие input (change - это если v-model используется с модификатором lazy).

Так что попробуйте заменить .change() на [0].dispatchEvent(new Event('input')).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы