Browse Source

fix: 尝试修复一版虚拟键盘快速点击和长按消失的问题

master
guoapeng 2 weeks ago
parent
commit
efe679a7dd
  1. 14
      src/components/common/FTInput/index.vue

14
src/components/common/FTInput/index.vue

@ -83,6 +83,10 @@ emits('focus')
// }, 100) // }, 100)
const blurInput = () => { const blurInput = () => {
if (ignoreBlur.value) {
ignoreBlur.value = false
return
}
setTimeout(() => { setTimeout(() => {
if (!entering.value) { if (!entering.value) {
handleClose() handleClose()
@ -167,13 +171,20 @@ const onKeyPress = (button: any) => {
return handleBackspace() return handleBackspace()
} }
const ignoreBlur = ref(false)
const handleBackspace = () => { const handleBackspace = () => {
ignoreBlur.value = true
// const position = keyboard.value.getCaretPosition() // const position = keyboard.value.getCaretPosition()
// console.log(position) // console.log(position)
const value = model.value?.toString() || '' const value = model.value?.toString() || ''
model.value = value.slice(0, -1) model.value = value.slice(0, -1)
console.log(model.value) console.log(model.value)
// blur
setTimeout(() => {
ignoreBlur.value = false
}, 150)
} }
const handleLock = () => { const handleLock = () => {
@ -244,6 +255,9 @@ const handlePopClose = (e: any) => {
inputRef.value.ref.selectionStart = inputRef.value.ref.selectionEnd = index inputRef.value.ref.selectionStart = inputRef.value.ref.selectionEnd = index
inputRef.value.focus() inputRef.value.focus()
} }
else {
console.log('失去了')
}
} }
const close = () => { const close = () => {

Loading…
Cancel
Save