16143188672202

65 阅读1分钟

关于@blur和@click或者@tap冲突问题

网上大部分是让失去焦点的方法的setTimeout延时执行达到点击效果,当然要求不高没问题。测试设置300ms以上才会有效,但是如果是一个弹出框延时300ms明显有点卡顿的感觉。所以有了下面的思路。

onUnFocus() {
  this.showView = false
  setTimeout(() => {
    this.inputIsShow = false
  }, 500)
},

结合下面体验效果杠杠的

<view v-if="inputIsShow"  :style="{ opacity: showView ? 1 : 0 }"></view>