再点击菜单栏的同时触发on-clickoutside

问题描述

1、在已经点击Downmenu出现下拉框之后再点击 Menu的内容不会消失

问题出现的环境背景及自己尝试过哪些方法

clickoutside 判断范围出现异常 使用的插件为v-click-outside-x
因为menu-item阻止了冒泡事件,所以没有监听到on-click-outside
尝试在父组件添加$emit.('on-clickoutside')无效

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
<Dropdown trigger="click" class="notice-container" @submit.native.prevent :visible="true"

                  @on-clickoutside="showClickOut">
                  
                      <div
    :class="[prefixCls]"
    v-click-outside="onClickoutside"
    @mouseenter="handleMouseenter"
    @mouseleave="handleMouseleave">
    <div :class="relClasses" ref="reference" @click="handleClick" @contextmenu.prevent="handleRightClick"><slot></slot></div>
    <transition name="transition-drop">
        <Drop
            :class="dropdownCls"
            v-show="currentVisible"
            :placement="placement"
            ref="drop"
            @mouseenter.native="handleMouseenter"
            @mouseleave.native="handleMouseleave"
            :data-transfer="transfer"
            :transfer="transfer"
            v-transfer-dom><slot name="list"></slot></Drop>
    </transition>
</div>

你期待的结果是什么?实际看到的错误信息又是什么?

点击menu也能取消downmenu的下拉框

阅读 4.8k
1 个回答

去掉menu-item 源码中的@click.stop 的阻止冒泡事件可以正常使用,但是不知道为什么要添加.stop

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题