Skip to content

ElementUI 抽屉组件意外关闭问题解决

Published: at 05:13 PMSuggest Changes

Element-UI 抽屉组件 Drawer 有个 BUG

就是在抽屉内容区选中文字,然后不松手,然后移动鼠标到弹窗外,却触发了隐藏逻辑。

正确的交互应该是:选中文字不松手,鼠标移动到弹窗外不触发隐藏逻辑,平时点击弹窗外可以触发隐藏逻辑。

设置一下 :wrapper-closable="false"

<el-drawer
  v-bind="$attrs"
  class="translation"
  :with-header="false"
  size="450px"
  :wrapper-closable="false"
  v-on="$listeners"
  @mousedown.native="handleWrapperMousedown"
  @mouseup.native="handleWrapperMouseup"
>
  我被选中拉
</el-drawer>

重点是鼠标按下 @mousedown.native="handleWrapperMousedown" 鼠标弹起 @mouseup.native="handleWrapperMouseup" 这两个逻辑

handleWrapperMousedown (e) {
  this.classmodel = !!e.target.classList.contains('el-drawer__container')
},
handleWrapperMouseup (e) {
  if ((!!e.target.classList.contains('el-drawer__container')) && this.classmodel) {
    console.log(`editdrawer`, false)
    this.$emit('update:visible', false)
  } else {
    console.log(`editdrawer`, true)
  }
  this.classmodel = false
}

转载


Previous Post
Vue 动态切换背景图片
Next Post
Vue.js 实用技巧:使用 .sync 修饰符实现父子组件数据同步