vue-context-menu
Vue 2.0 右键菜单组件,菜单内容可以随意自定义
安装
npm install @xunlei/vue-context-menu
在线Demo
https://xunleif2e.github.io/vue-context-menu/demo/dist
使用
1. 注册组件
方式1 利用插件方式全局注册
import VueContextMenu from '@xunlei/vue-context-menu'
import Vue from 'vue'
Vue.use(VueContextMenu)
方式2 局部注册
import { component as VueContextMenu } from '@xunlei/vue-context-menu'
export default {
// ...
components: {
'vue-context-menu': VueContextMenu
}
}
方式3 独立版本引入,自动全局注册
前提是 vue 也是独立版本通过script标签引入
<script src="./node_modules/dist/vue-context-menu.js"></script>
2. 模版语法
<context-menu class="right-menu"
:target="contextMenuTarget"
:show="contextMenuVisible"
@update:show="(show) => contextMenuVisible = show">
<a href="javascript:;" @click="copyMsg">复制</a>
<a href="javascript:;" @click="quoteMsg">引用</a>
<a href="javascript:;" @click="deleteMsg">删除</a>
</context-menu>
Props
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
target | 触发右键事件的元素 | Element | - | - |
show | 是否显示右键菜单 | Boolean | - | false |
Events
事件名 | 说明 | 事件参数 |
---|---|---|
update:show | 右键菜单显示/隐藏时触发 | 是否显示 |
注意
如果target是某个兄弟元素,可以使用 $refs
来访问,但是注意请在父组件mounted 之后获取。
参考 https://cn.vuejs.org/v2/guide/components.html#子组件索引
ChangeLog
-
[1.0.1] 2017-07-10
- 修复 target 为空时可能出错的bug
-
[1.0.0] 2017-06-23
- 实现右键菜单基本功能
Development Setup
# install deps
npm install
# serve demo at localhost:8080
npm run dev
# build library and demo
npm run build
# build library
npm run build:library
# build demo
npm run build:demo
License
Copyright (c) 2017 赵兵