vue鼠标右键自定义菜单_Vue.js 右键菜单插件 简单、可扩展、样式自定义的右键菜单...

本文介绍了Vue.js的一款右键菜单插件vuerightmenu,它简单、可扩展且样式自定义。通过使用自定义指令v-rightMenu,用户可以方便地在项目中调用和定制右键菜单,避免了传统插件中预定义标签的限制。该插件具有运行速度快、自带边界检测、无多余DOM渲染等特点,并支持HTML内容和自定义样式。
摘要由CSDN通过智能技术生成

Vue.js 右键菜单插件 简单、可扩展、样式自定义的右键菜单

发布于 2020-3-15|

复制链接

摘记: 今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerightmenu)  安装 npm install rightmenu --save-dev   开始

```javascript

//main.js

import vue from "vue";

import rightMenu from "rightMenu";

vue.use(rightMenu);

```

例子 ..

今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerightmenu)  安装 npm install rightmenu --save-dev   开始

```javascript

//main.js

import vue from "vue";

import rightMenu from "rightMenu";

vue.use(rightMenu);

```

例子

```javascript

{{

text

}}

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 菜单显示的文字

* 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

}

}

}

```

补充说明  main.js引入并use之后,会增加全局指令v-rightMenu ,value为一个对象,value内所有api均已在上面例子说明,可为空的参数就可以不填写,都会有默认值或者本身就是可有可无的 本插件优缺点说明  相比较于大众化的右键插件他有如下优点:

•  插件精悍短小,运行速度快

•  不需要单独配置任何边界检测,插件本身自带了

•  样式完全根据用户需求,自定义菜单的任何地方的样式

•      使用简单,一个指令即可调用

•      不会为页面渲染无用的dom,一切都是在你第一次使用时候才会进行加载,并且保证在之后的多次使用中,不会渲染多余dom

•  支持菜单文字(content字段)使用html ,没错,你可以使用字体图标而不用拘泥于插件自身的图片图标,也可以使用不同的标签来表示你的菜单(当然我也考虑了如此做法,可能需要你必须要完整的吧标签写出来,否则可能会报错,这个问题后期我会进行修复,先看看效果)  缺点说明:

•  因为本菜单实现的是高度自定义,所以可能会让使用者需要定义很多样式,我只写了一些必要的样式,其余全部需要使用者来自定义(我也不知道这是个缺点还是优点,不过如果我是使用者我会觉得还是插件本身不带有很多的样式为好)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值