問題復現
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值過濾下拉列表,不相等(表明此時在敲擊中文鍵盤的過程中,而沒有輸入具體中文)則清空下拉列表。