美文网首页Vue让前端飞
element-ui el-tree 右键菜单实现

element-ui el-tree 右键菜单实现

作者: 嘻哈章鱼小丸子 | 来源:发表于2021-04-01 16:01 被阅读0次

直接上代码:

 <div
            id="rightMenu"
            v-if="visible"
            class="tree_menu"
            :style="rightMenuStyle"
            :key="(currentNode && currentNode.id) || '0'" 
        >
            <ul>
                <li v-if="addTypeLi" @click="addType">
                    <i class="el-icon-circle-plus-outline"></i> 添加
                </li>
                <li @click="renameType"><i class="el-icon-edit"></i> 重命名</li>
                <li @click="delType"><i class="el-icon-delete"></i> 删除</li>
            </ul>
        </div>
注意

key不能少,否则rightMenu不更新位置

    getContextmenu(e, data) {
            this.rightMenuStyle =
                "top:" + e.pageY + "px; left:" + e.pageX + "px";
            this.visible = true;
            this.currentNode = data;
            if (data.children && data.children.length > 0) {
                this.addTypeLi = true;
            } else {
                this.addTypeLi = false;
            }
            const self = this;
            document.onclick = function (ev) {
                if (ev.target !== document.getElementById("rightMenu")) {
                    self.visible = false;
                }
            };
        },
      // 解决单击隐藏右键菜单的问题
       handleNodeClick(data, node) {
            if (this.visible) {
                this.visible = false;
            }
        }

css

.tree_menu {
        position: absolute;
        background-color: #fff;
        padding: 5px 0;
        border: 1px solid #ebeef5;
        border-radius: 4px;
        box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);

        ul {
            margin: 0;
            padding: 0;
        }
        ul li {
            list-style: none;
            margin: 0;
            padding: 0 15px;
            font-size: 14px;
            line-height: 30px;
            cursor: pointer;
        }
        ul li:hover {
            background-color: #ebeef5;
        }
    }

相关文章

  • element-ui el-tree 右键菜单实现

    直接上代码: 注意 key不能少,否则rightMenu不更新位置 css

  • mxgraph示例解析(-) menustyle右键菜单

    官方示例 实现原理 禁用右键菜单 创建右键菜单 简化示例

  • 使用js制作右键菜单项

    实现自定义右键菜单我们需要清楚浏览器默认的右键菜单触发的基本过程 ①:单击右键,菜单出现 ②:菜单出现,鼠标箭头一...

  • element-ui table-tree 组件

    此组件主要是在element-ui的el-tree的基础上,实现table-tree的组件封装,此组件主要是提供封...

  • JS实现右键菜单

    今天来讲一个关于右键菜单的小demo,抛砖引玉。 首先,我们要用css和html做一个自定义右键菜单。 现在我们已...

  • 实现右键弹出菜单

    实现右击控件,弹出菜单效果: 假如要右击图片ImageView,弹出菜单项,实现步骤:1.给控件设置右击弹出菜单事...

  • 鼠标右键菜单实现

    1.初始化PopupMenu 2. 在控件MouseDown上增加右键监听事件

  • NSView实现右键菜单

    在macOS中,NSView有一个menu的属性,给这个属性进行赋值,即可实现右键弹出菜单 NSMenu *m...

  • jquery_自定义鼠标右键

    一、自定义鼠标右键的实现原理 自定义右键菜单功能,需清楚,所有浏览器都自带了右键功能,那么自定义右键菜单,需要先屏...

  • 避免单纯以当前时间作为唯一标识

    近期遇到的一个问题,使用某个外部插件生成右键菜单,右键菜单内部实现以当前时间戳(milliseconds)为id,...

网友评论

    本文标题:element-ui el-tree 右键菜单实现

    本文链接:https://www.haomeiwen.com/subject/lcrahltx.html