今天分享的不是技術,今天給你們分享個插件,針對現有的vue右鍵菜單插件,大多數都是須要使用插件自己自定義的標籤,不少地方不方便,可擴展性也很低,因此我決定寫了一款自定義指令調用右鍵菜單(vuerightmenu)css
1 npm install rightmenu --save-dev
//main.js import vue from "vue"; import rightMenu from "rightMenu"; vue.use(rightMenu);
<template> <div> <button v-rightMenu = "menudata"> {{ text }} </button> </div> </template> <script> export default { name:"demo", data(){ return { menudata:{ // 菜單box的樣式 Menu box style boxStyle:"width:150px;background:#f55;", // 菜單選項的樣式 Style of menu options optionStyle:"color:#fff;line-height:30px;font-size:15px;", menus:[ { /** * content 菜單顯示的文字 <支持html> * callback:菜單點擊要觸發函數 須要在methods定義 * style : 本項菜單的單獨樣式 能夠覆蓋掉optionStyle * icon : icon圖片地址 * iconStyle: icon 圖片的樣式(例如大小等 直接做用於圖片) * iconPosition : 支持left / right (其他所有按照left處理); * content The text displayed on the menu(can use html) * callback: Menu clicks to trigger functions need to be defined in methods * style : The single style of this menu can override option Style * icon : your icon's url * iconStyle : you icon's style ,is image's style * iconPosition :you can use left or right ;The rest are all processed according to left */ /** * 字段(field) 類型(type) 是否能夠爲空(is can null) 默認值 * content [ html | text ] Y "" * callback [ methods function ] Y return false * style [ css ] Y "" * icon [ url ] Y "" * iconStyle [ css ] Y "" * iconPosition [string] Y "left" */ content:"menu content", callback:"callbackMethods", style:"border-bottom:1px solid #fff;background:#333;line-height:30px;", icon:"https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2310514390,3580363630&fm=27&gp=0.jpg", iconStyle:"width:20px;height:20px;", iconPosition:"left", }, { content:"右鍵菜單二", callback:"otherMethods" } ], }, } }, methods:{ callbackMethods(){ // do something }, otherMethods(){ // do something } } } </script>
main.js引入並use以後,會增長全局指令v-rightMenu ,value爲一個對象,value內全部api均已在上面例子說明,可爲空的參數就能夠不填寫,都會有默認值或者自己就是無關緊要的html
相比較於大衆化的右鍵插件他有以下優勢:vue
缺點說明:git
本插件旨在實現的是靈活 + 低配置 + 擴展性高 + 指令調用的快速右鍵菜單,正如你看到的我只須要一個指令,一個json,僅此而已。本插件對於新人仍是老手均能適用,由於本插件是一款擴展性極高的插件,支持你配置菜單總樣式、菜單選項樣式、點擊的回調函數、菜單選項的icon 甚至你能定義每一單獨選項的樣式以及icon。最後感謝你們的支持,若是喜歡的話請到github(https://github.com/JinZhenZon/rightmenu)爲本插件點個star吧。使用中若有問題,請聯繫個人QQ:421217189github