IOS自帶輸入法中文不觸發KEYUP事件導致vue雙向綁定錯誤問題


先上圖:

 

可以看到輸入框中的內容和彈出框的內容不一致,

<input  class="am-fr labRight" id="txcode" type="text" placeholder="請輸入納稅人識別號"  v-model="invBuyer.TaxCode" />

文本框使用的是vue的v-model雙向綁定,在android中是ok的,在IOS上不行,

導致問題出現的原因是IOS自帶輸入法輸入中文時不觸發KEYUP事件,因為不觸發KEYUP事件,導致文本框最后一個字符沒有執行雙向綁定,

Vue雙向綁定原理會在下篇文章中分析

解決方法

1.在提交前手工去執行KEYUP事件。

2.使用js判斷值是否一致,不一致把js文本框值賦值給vue綁定值。

if(that.invBuyer.TaxCode!=$('#txcode').val()){
       that.invBuyer.TaxCode=$('#txcode').val();
}

 


免責聲明!

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



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