欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > element-plus表格添加简单右键

element-plus表格添加简单右键

2025/9/23 17:02:42 来源:https://blog.csdn.net/chyuanrufeng/article/details/139452886  浏览:    关键词:element-plus表格添加简单右键

实现如下


<template><main class="mainClass"  > <el-table :data="tableData" style="width: 100%"@row-contextmenu="rowContextmenu"@cell-contextmenu="cellContextmenu"@contextmenu.prevent><el-table-column type="index" :index="indexMethod" /><el-table-column prop="date" label="Date" width="180" /><el-table-column prop="name" label="Name" width="180" /><el-table-column prop="address" label="Address" /></el-table></main><el-menu:default-active="1"class="el-menu-demo"mode="vertical":collapse="isCollapse"v-show="menuShow"@close="hideMenu"@open="openItem"ref="menuRef":style="{ left: left + 'px', top: top + 'px' }"><el-menu-item index="1">Processing Center</el-menu-item><el-sub-menu index="2"><template #title>Workspace</template><el-menu-item index="2-1">item one</el-menu-item><el-menu-item index="2-2">item two</el-menu-item><el-menu-item index="2-3">item three</el-menu-item></el-sub-menu></el-menu></template><script setup>import { watch ,ref } from 'vue';const activeIndex = ref('0')
const menuShow = ref(false)
const isCollapse = ref(true)
const menuRef = ref(null)
const left = ref(0)
const top = ref(0)const tableData = [{date: '2016-05-03',name: 'Tom',state: 'California',city: 'Los Angeles',address: 'No. 189, Grove St, Los Angeles',zip: 'CA 90036',tag: 'Home',},{date: '2016-05-02',name: 'Tom',state: 'California',city: 'Los Angeles',address: 'No. 189, Grove St, Los Angeles',zip: 'CA 90036',tag: 'Office',},{date: '2016-05-04',name: 'Tom',state: 'California',city: 'Los Angeles',address: 'No. 189, Grove St, Los Angeles',zip: 'CA 90036',tag: 'Home',},{date: '2016-05-01',name: 'Tom',state: 'California',city: 'Los Angeles',address: 'No. 189, Grove St, Los Angeles',zip: 'CA 90036',tag: 'Office',},
]function cellContextmenu(row,column,divstr,event)
{//第4个参数才是eventconsole.log("cell contextenu",arguments)showMenu(event)
}function rowContextmenu(row,column,event)
{//第3个参数才是eventconsole.log("row contextenu",arguments)
}function hideMenu()
{menuShow.value = false;
}
function showMenu(e)
{menuShow.value = true;left.value = e.clientX+1;top.value = e.clientY+1;//阻止默认行为  @contextmenu.prevent 同效果e.preventDefault(); 
}</script><style scoped>
.mainClass
{width: 500px;height: 500px;background-color: #f0f0f0;
}
.el-menu-demo
{position: absolute;left: 0;top: 0;z-index: 100;width: 140px;/* background-color: rgb(167, 184, 184); */
}
</style>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词