一、前言
老的項目中有使用右鍵菜單,在拿過來用的時候有些問題,又找了些新的組件進行對比,在這里記錄下。
二、組件對比
v-contextmenu :這個組件是原型項目中使用的,在拿過來的使用的時候一直安裝不成功,提示需要的依賴不能正確安裝,於是就放棄了這個(
GitHub 地址);
vue-contextmenu:這個組件安裝成功了,安裝使用說明一直不成功,最后也放棄了(
GitHub 地址);
vue-context-menu:最后選擇這個,使用也較簡單(
GitHub 地址),不過這個有幾年沒有維護了;
三、使用
1、安裝:
npm install vue-context-menu --save
2、在項目中使用
<template> <div @contextmenu.prevent="onContextShow()" /> <Contextmenu ref="contextmenu" class="context-menu"> <li v-show="contextmenuList.add" @click="addGroup(0)">添加</li> <li v-show="contextmenuList.edit" @click="editGroup">修改</li> <li v-show="contextmenuList.delete" @click="removeGroup">刪除</li> </Contextmenu> </template> <script> // 直接在組件中引入使用 import Contextmenu from 'vue-context-menu' export default { components: { Contextmenu }, methods: { onContextShow(data) { this.$refs.contextmenu.open() }, } } </script> <style lang="scss"> .context-menu { .ctx-menu { min-width: 65px; font-size: 14px; li { padding: 5px 14px; text-align: center; cursor: pointer; &:hover { background-color: #409eff; } } } } </style>
上面是整個代碼的使用,在使用的過程中可以多層級,直接使用 li=》ul=》li 這樣進行嵌套。
樣式就是要嵌套下組件的 class 就可以。