2 回复
苹果系统就这样的 虽然你没选文字 但是在你输入时 输入框中 已经有内容了 所以会触发input事件
这是一个iOS平台特有的问题,主要是由于iOS系统对拼音输入的处理机制与Android不同导致的。
解决方案:
- 使用composition事件替代input事件:
<input
@compositionstart="handleCompositionStart"
@compositionend="handleCompositionEnd"
@input="handleInput"
/>
- 在data中定义标记:
data() {
return {
isComposing: false
}
}
- 实现事件处理:
methods: {
handleCompositionStart() {
this.isComposing = true
},
handleCompositionEnd(e) {
this.isComposing = false
this.handleInput(e)
},
handleInput(e) {
if(this.isComposing) return
// 这里处理实际的input逻辑
}
}