vue-easycm
A simple and easy to use Context Menu.
Install
npm install vue-easycm --save
Use
1.Import 导入
2.Basic Usage
-
在需要触发 环境菜单 的容器标签上加上(固定写法)
例:
-
任意位置导入组件(选项数组必传,格式见配置项)
例:
3.Options 配置项
选项名 | 是否必须 | 默认值 | 介绍 |
---|---|---|---|
:list | true | 无 | 选项数组 |
:tag | false | 无 | 配置多个时的标记 |
@ecmcb | false | 无 | 返回触发元素序号 |
:underline | false | false | 是否开启下划线 |
:arrow | false | false | 是否开启箭头 |
:border | false | true | 是否开启边界检测 |
:itemWidth | false | 140 | 列表项宽度 |
:itemHeight | false | 36 | 列表项高度 |
:itemSize | false | 14 | 列表项字体大小 |
:offset | false | { x: 6, y: 2 } | 显示点偏移量 |
:borderWidth | false | 6 | 边界距离 |
详细介绍:
-
数组格式如下
*嵌套的子项格式一致
-
tag --> 标记
需要配置多个菜单时添加 tag , 类似取个 id
此时 @contextmenu="$easycm($event,$root,[tag])" 需要加上 tag 的值
如:
这个时候 在 p 元素上会触发 tag 为 2 的菜单
div 的其他部分会触发 tag 为 1 的菜单
-
ecmcb --> 回调函数
解释:返回触发的序号数组,便于触发相应逻辑
如:
[0] 代表第一层的第一项
[0,1] 代表第一层的第一项的第二个子项
详见 demo code
-
边界检测 见 demo gif
-
offset --> 显示点偏移量
解释: 菜单显示位置的左上角离鼠标的距离
如: {x:10,y:10}
*数值参数均无需带单位