У меня есть слушатель, чтобы проверить, какой ввод был выбран в конце, чтобы потом добавить в него какую-то строку / переменную.
created: function () {
document.addEventListener('focusin', this.focusChanged);
}
focusChanged(event) {
if (event.target.id !== 'variable-search') {
this.lastElement = event.target;
}
}
Кажется, это работает нормально, и когда я нажимаю на поле вводаthis.lastElement
обновляется с помощью целевого элемента.Все эти входные данные имеют v-model
, который может быть строкой в объекте или просто строкой.
Теперь, когда я пытаюсь обновить значение следующим образом:
this.lastElement.value += variable;
Vue не будет обнаруживать свои изменения, также в инструментах Vue Developer строка не будет обновляться.Но в поле ввода оно обновляется.Так что это должно быть реактивностью.
Когда я добавляю новый символ в поле ввода (v-модель), он снова обновляется.Так что просто когда я обновляю строку на this.lastElement
, она не регистрирует свои изменения.
Дело в том, что поля ввода являются динамическими, поэтому я не знаю, сколько здесь полей ввода и какмного списков и т. д. Поэтому мне нужно, чтобы Vue повторно отображал переменную после обновления значения lastElement
.
Редактировать
Я только что попробовал с @сфокусируйтесь здесь на примере
<input v-model="testVar" @focus="lastElement = testVar">
Если я обновлю lastElement
позже, он обновит его не для testVar
, а только для lastElement
.