vue-contextmenujs 实现鼠标右键弹出菜单列表

  1. 效果
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/421069a2b1c842b2ad2a03b596e4ce50.png
  2. 安装
npm install vue-contextmenujs || yarn add vue-contextmenujs
  1. 使用
// main.js
import Contextmenu from 'vue-contextmenujs'
Vue.use(Contextmenu)
  1. 示例
<template>
 <el-table
    :data="tableData"
     border
     highlight-current-row
     height="100%"
     size="mini"
     @row-contextmenu="onContextmenu"
/>
</template>
<script>
export default{
	methods:{
	   onContextmenu(row, column, event) {
	      event.preventDefault()
	      this.$contextmenu({
	        items: [
	          {
	            label: '患者病历夹',
	            divided: true,
	            minWidth: 0,
	            onClick: () => {
	              this.patientStateVisible = true
	            }
	          },
	
	          {
	            label: '麻醉文书',
	            onClick: () => {
	              this.docDialogVisible = true
	            }
	          },
	          {
	            label: '临床麻醉',
	            disabled: row.drug_state !== 2 ? true : false,
	            onClick: () => {
	              this.handleStartMz(row)
	            }
	          },
	          {
	            label: '麻醉复苏',
	            disabled: row.fs_state !== 2 ? true : false,
	            onClick: () => {
	              this.handleStartFs(row)
	            }
	          }
	        ],
	        event,
	        customClass: 'mzss-cx', // 自定义菜单 class
	        zIndex: 3, // 菜单样式 z-index
	        minWidth: 160 // 主菜单最小宽度
	      })
	      return false
	    },
	}
}
</script>
  1. 参数说明
    Menu
属性描述类型默认值
items菜单结构信息MenuItem[]
event鼠标事件信息Event
x菜单显示X坐标, 存在event则失效number0
y菜单显示Y坐标, 存在event则失效number0
zIndex菜单样式z-indexnumber2
customClass自定义classstring
minWidth主菜单最小宽度number150

MenuItem

属性描述类型默认值
label菜单名称string
icon菜单项图标, 生成元素string
disabled是否禁用菜单项booleanfalse
divided是否显示分割线booleanfalse
customClass自定义子菜单classstring
minWidth子菜单最小宽度number150
onClick菜单项点击事件Function()
children子菜单结构信息MenuItem[]
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值