问题复现
input输入框选中原有输入时,输入中文,在敲击中文键盘的过程中模糊匹配了不符合输入的信息(匹配了原有输入的信息)
<template>
...
<input type="text" class="test" v-model="test" @input="getFundList($event)"/>
...
</template>
<script>
new Vue({
...
methods: {
getFundList(el) {
// 全选输入框原有输入,在敲击中文键盘的过程中,此时this.test为原有输入值,el.target.value值为当前敲击内容
// 根据this.test过滤下拉列表不能获取到与最新输入值相关内容,而是获取到与输入框原有输入匹配内容
},
},
...
});
</script>
问题解决
// 为了兼容输入中文时下拉列表的过滤问题,判断this.test值是否与el.target.value值相等,相等时再根据this.test值过滤下拉列表,不相等(表明此时在敲击中文键盘的过程中,而没有输入具体中文)则清空下拉列表。