el-tree与el-popover配合使用避免事件冒泡

这篇具有很好参考价值的文章主要介绍了el-tree与el-popover配合使用避免事件冒泡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

el-tree与el-popover配合使用避免事件冒泡,vue.js,前端,javascript

  <el-tree ref="sceneTreeRef" :filter-node-method="filterNode" class="scene-layer-tree" show-checkbox
            node-key="nodeKey" :allow-drag="allowDragHandler" :allow-drop="allowDropHandler" @node-drop="handleDrop"
            :data="TreeData.list" draggable default-expand-all @check="check">
            <template #default="{ data }">
                <span :title="data.title" class="tree-item-title">
                    <i class="fal fa-folder-open" style="color: #f2cc7b; margin: 5px" v-if="data.type == 'group'"></i>
                    <!-- 可以选择用一个< span >将整个< el-popover >包起来,给span加 一个 @click.stop,即可阻止冒泡 -->
                    <span @click.stop>
                        <el-popover placement="top" :width="200" trigger="click" class="propovers">
                            <template #reference>
                                <i class="fal fa-cog icon-setting"></i>
                            </template>
                            <template #default>
                                <div class="edit-item" v-if="data.type != 'root'" @click=editLayer(data)>
                                    <i class="fal fa-edit"></i>
                                    <span>{{ $t("x_edit") }}</span>
                                </div>
                                <div class="edit-item" v-if="data.type == 'group' || data.type == 'root'"
                                    @click="addNewLayer(data)">
                                    <i class="fal fa-layer-plus"></i>
                                    <span>{{ $t("x_add_a_new_layer") }}</span>
                                </div>
                                <div class="edit-item" v-if="data.type == 'group' || data.type == 'root'"
                                    @click="addFolder(data)">
                                    <i class="fal fa-folder-plus"></i>
                                    <span>{{ $t("x_add_folders") }}</span>
                                </div>
                                <div class="edit-item" v-if="data.type != 'root'" @click="deleteLayerFromTree(data)">
                                    <i class="fal fa-trash-alt"></i>
                                    <span>{{ $t("x_delete") }}</span>
                                </div>
                            </template>
                        </el-popover>
                    </span>
                    {{ data.title }}
                </span>
            </template>
        </el-tree>

解决方法: 可以选择用一个< span >将整个< el-popover >包起来,给span加 一个 @click.stop,即可阻止冒泡文章来源地址https://www.toymoban.com/news/detail-847644.html

到了这里,关于el-tree与el-popover配合使用避免事件冒泡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 修改el-popover显示位置

    我们在通常情况下使用 el-popover 组件,都是让组件自动计算气泡显示位置。不过我之前遇到过这样一个需求:当触发气泡显示的元素宽度太大,气泡显示位置可能会离鼠标位置较远,用户反映移动鼠标到气泡上的距离太长了,希望能让气泡在鼠标进入触发元素的位置显示。

    2024年02月05日
    浏览(36)
  • Element-UI中el-table内嵌el-popover,在表格翻页后el-popover无法显示问题解决

    由于开发需求,需要在el-table某一列增加popover弹窗,当用户点击按钮时,通过popover组件展示详细信息。参考Element-ui官网文档案例,得出代码如下 具体实现细节无需关注,经过测试后表格第一页的popover组件能够正常显示,但是当翻到第二页时,点击详情按钮,函数能够被正常

    2024年02月11日
    浏览(54)
  • css-修改element ui的el-popover样式

    背景: 在选择所属部门(部门可新建,则部门会很多)时,如果部门特别多的情况下,在下拉选择时,el-popover弹出框会变得很长很长,页面不美观。  产品要求: 在超长时,固定高度,支持滚动条。 在代码里修改样式时,一直不生效,仔细查看dom才发现, popover的dom创建在

    2024年02月15日
    浏览(46)
  • vue 设置element ui的el-popover的样式

    设置 element ui 的el-popover的样式需要自定义 popper-class : 自定义 popper-class=\\\"tips-con\\\" ,如下: 在当前文件样式中,不加 scoped 写一份: *** el-popover 生成的 div 不在当前组件之内,甚至不在 App.vue 组件的 div 内,和 App.vue 组件的div 平 级,所以需要全局设置 style 。 *** 页面效果:

    2024年02月11日
    浏览(43)
  • 【element ui】 el-popover 样式修改不生效解决方法

    ①基本结构 ②问题 在修改el-popover的样式的时候,和往常修改elmentui样式一样就是不起效果。使用::v-deep或者是/deep/样式穿透都没有效果。 ③原因 看了一篇博主的博客才得知,原因是 el-popover生成的div不在当前组件之内,甚至不在App.vue组件的div内,他和App.vue组件的div平级。所

    2024年02月07日
    浏览(52)
  • 【Elemnt-UI——el-popover点击出现多个弹框】

    效果图 解决 :append-to-body=\\\"false\\\" 添加这个属性就可以了

    2024年02月14日
    浏览(35)
  • vue + elementui 中 在弹框中使用了 tree型结构(<el-tree></el-tree>),点击关闭按钮按钮重置tree

    vue 项目中使用了element-ui 中 tree,选择了懒加载的模式 通过点击按钮,使得 tree 重新加载 通过点击重置按钮,使得tree 重新加载 解决的思路为:通过v-if 的显示隐藏来控制重新加载

    2024年02月12日
    浏览(52)
  • vue element ui el-popover 样式修改不生效解决方法

    在使用element 的el-popover 组件时,会发现自己对el-popover 写的样式不起作用,甚至连使用 ::v-deep ‘’ /deep/ 行内Style 这四种样式穿透都不起作用, 这是因为 el-popover生成的div不在当前组件之内,甚至不在App.vue组件的div内,他和App.vue组件的div平级。所以需要全局设置style 首先给

    2024年02月11日
    浏览(53)
  • vue2 el-table行悬停时弹出提示信息el-popover

    实现方法,用到了cell-mouse-enter、cell-mouse-leave两个事件,然后在表格的首列字段中,加个el-popover组件,当然你也可以选择在其他字段的位置来显示提示框,看自己的需求了。 示例代码: 在enter方法中,还可以根据row行数据进行一些处理,比如根据状态status来判断是否弹出提示

    2024年01月18日
    浏览(70)
  • element-ui 的el-popover 自定义弹出和关闭

    业务需求: 鼠标悬停打开弹窗,点击弹窗里面的内容后关闭弹窗 Element 中 Popover 弹出框的弹出方式有 hover,click,focus,手动激活几种方式,根据业务需求,可以如下使用: el-popover弹出框 关闭和打开分别用 doClose() 和 doShow() 方法 ,Element UI文档中没有提到这两个方法 通过方

    2024年02月16日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包