vue的input事件監聽中文輸入問題


問題復現

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM