VueJs 第一次没有用按键 ESC 清除输入值
VueJs the input value doesnt cleared with the keypress ESC the first time
我想在按下 ESC 键时清除输入,我的错误是当我第一次按下 ESC 键时,输入没有被清除但是当我第二次按下 ESC 时它被清除了
当我在第一次按下后在控制台中显示输入值时,它是空的但不在 UI
这是管理 ESC 键的一小段代码:
Html :
<input
type="text"
:name="context.name"
:id="context.id"
v-model="context.model"
@blur="context.blurHandler"
@keyup="getSuggestions"
autocomplete="no"
class="mc-text-input"
ref="autocompleteInput"
/>
以及 ESC 事件:
case 27: {
console.log('Before : ' + this.$refs.autocompleteInput.value)
this.$refs.autocompleteInput.value = ''
console.log('After : ' + this.$refs.autocompleteInput.value)
this.resetAutocompleteElt() // hide the autocomplete list
break
}
我需要强制第一个 ESC 键来清除这个输入
v-model
使用 two-way 绑定,因此您应该更新 context.model
而不是尝试直接更新元素值,因为这可能会导致您的问题。
即假设您可以在处理事件的函数中访问 context.model
。
替换:
this.$refs.autocompleteInput.value = ''
与:
this.context.model = '';
我想在按下 ESC 键时清除输入,我的错误是当我第一次按下 ESC 键时,输入没有被清除但是当我第二次按下 ESC 时它被清除了
当我在第一次按下后在控制台中显示输入值时,它是空的但不在 UI
这是管理 ESC 键的一小段代码:
Html :
<input
type="text"
:name="context.name"
:id="context.id"
v-model="context.model"
@blur="context.blurHandler"
@keyup="getSuggestions"
autocomplete="no"
class="mc-text-input"
ref="autocompleteInput"
/>
以及 ESC 事件:
case 27: {
console.log('Before : ' + this.$refs.autocompleteInput.value)
this.$refs.autocompleteInput.value = ''
console.log('After : ' + this.$refs.autocompleteInput.value)
this.resetAutocompleteElt() // hide the autocomplete list
break
}
我需要强制第一个 ESC 键来清除这个输入
v-model
使用 two-way 绑定,因此您应该更新 context.model
而不是尝试直接更新元素值,因为这可能会导致您的问题。
即假设您可以在处理事件的函数中访问 context.model
。
替换:
this.$refs.autocompleteInput.value = ''
与:
this.context.model = '';