IOS에서 중국어를 입력하면 keyup이 트리거되지 않아 데이터가 바인딩되지 않습니다.

2015 단어 전단 학습vue
문제가 발생한 원인은 IOS 자체 입력법이 중국어를 입력할 때 KEYUP 이벤트를 터치하지 않기 때문입니다. KEYUP 이벤트를 터치하지 않기 때문에 텍스트 상자의 마지막 문자가 양방향 귀속을 실행하지 않았기 때문입니다.
해결 방법:
1. 제출하기 전에 KEYUP 이벤트를 수동으로 실행합니다.
2. js를 사용하여 값이 일치하는지 판단하고 일치하지 않으면 js 텍스트 상자 값을 vue 귀속 값에 부여합니다.
html에서 양방향 연결을 진행하면 IOS 중국어 키보드를 조정할 때 입력한 값과 v-model="insName"귀속된 값 "insName"의 값이 다르다는 것을 알 수 있습니다.
<div class="edit-item">
    <div class="content">
        <span class="title name ">     span>
        <input type="text"  v-model="insName" ref="name">  
    div>
div>
그래서 키보드 키 up 이벤트를 감청합니다. 초점을 잃을 때 insName의 값을 입력 상자의 값으로 바꿉니다.
this.$refs.name.addEventListener('blur', function(){
      self.insName = self.$refs.name.value;
}),

좋은 웹페이지 즐겨찾기