vue的input事件监听中文输入问题

问题复现

input输入框选中原有输入时,输入中文,在敲击中文键盘的过程中模糊匹配了不符合输入的信息(匹配了原有输入的信息)

<template>
    ...
    <input type="text" class="test" v-model="test" @input="getFundList($event)"/>
    ...
</template>
new Vue({
   ...
   methods: {
      getFundList(el) {
          // 全选输入框原有输入,在敲击中文键盘的过程中,此时this.test为原有输入值,el.target.value值为当前敲击内容
          // 根据this.test过滤下拉列表不能获取到与最新输入值相关内容,而是获取到与输入框原有输入匹配内容
       },
   },
   ...
});
<script>
</script>

问题解决

// 为了兼容输入中文时下拉列表的过滤问题,判断this.test值是否与el.target.value值相等,相等时再根据this.test值过滤下拉列表,不相等(表明此时在敲击中文键盘的过程中,而没有输入具体中文)则清空下拉列表。

猜你喜欢

转载自www.cnblogs.com/xsnow/p/11834352.html