Я борюсь со следующим, пытаясь заставить div показываться под текстовым вводом после того, как кто-то начинает вводить:
https://jsfiddle.net/chadcf/3vjn71ap/
Шаблон:
<div id="app">
<input id="foo"
name="foo"
:value="localValue"
type="text"
placeholder=""
autocomplete="off"
@input="handleInput"
>
<div v-if="show">Testing</div>
</div>
Со следующим кодом Vue:
new Vue({
el: "#app",
data() {
return {
show: false,
localValue: null
}
},
methods: {
handleInput(e) {
this.show = true;
},
}
});
Когда вы запускаете это, если вы вводите символ в текстовом вводе, действительно показывается div под ним. Но кроме того, персонаж, которого вы только что набрали, исчезает После этого первого персонажа все работает нормально.
Я думаю, что здесь происходит то, что, когда ввод начинается и устанавливает this.show = true, это происходит до того, как значение действительно обновляется. Я думаю ... И, таким образом, vue повторно отображает данные, но без значения. Но на самом деле я не уверен, что делать, чтобы справиться с этим правильно ...