右键事件
@contextmenu.prevent.native="openContextMenu($event, node)"
右键事件
openContextMenu(ev, node) {
this.contextMenuLeft = ev.x - 320;
this.contextMenuTop = ev.y - 140;
this.contextVisible = true;
},
右键菜单
<el-card
class="contextMenuText"
v-show="contextVisible"
:style="{
left: contextMenuLeft + 'px',
top: contextMenuTop + 'px',
}"
>
<div class="li" @click="deleteNode('删除')">
<i class="el-icon-delete"></i>删除
</div>
<!-- <el-button class="li" type="text" icon="el-icon-arrow-left">上一页</el-button> -->
<el-divider></el-divider>
<div class="li" @click="handleCopyNode">
<i class="el-icon-document-copy"></i>拷贝
</div>
<div class="li" @click="handleCutNode">
<i class="el-icon-scissors"></i>剪切
</div>
<div class="li" @click="handlePasteContent($event)">
<i class="el-icon-copy-document"></i>粘贴
</div>
<el-divider></el-divider>
<div class="li" @click="handleHorizontalTurn(selectedNode)">
<i class=""></i>水平翻转
</div>
<div class="li" @click="handleVerticalTurn(selectedNode)">
<i class=""></i>垂直翻转
</div>
<div class="li" @click="handleSpin(selectedNode)">
<i class=""></i>旋转
</div>
</el-card>
菜单属性
.contextMenuText {
width: 160px;
background: #fff;
position: absolute;
z-index: 999;
}
.contextMenuText >>> .el-card__body {
padding: 0;
margin: 10px 0;
}
.contextMenuText .li {
font-size: 14px;
line-height: 30px;
text-align: left;
cursor: pointer;
padding: 0 20px;
}
.contextMenuText .li:hover {
background-color: #ebf5ff;
color: #3d9cfc;
}
.contextMenuText .li i {
display: inline-block;
width: 20px;
}
.contextMenuText >>> .el-divider {
margin: 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本