博客
关于我
vue 拖拽及右键菜单
阅读量:550 次
发布时间:2019-03-09

本文共 1096 字,大约阅读时间需要 3 分钟。

Vue.js 拖拽组件与上下文菜单应用实例

1. 安装 vuedraggable

通过 npm 安装 vuedraggable 组件:

npm install -S vuedraggable

2. 引用 vuedraggable

在 Vue 项目中引入并注册 draggable 组件:

3. 安装 e-vue-contextmenu

通过 npm 安装上下文菜单组件:

npm install --save e-vue-contextmenu@latest

4. 引用 e-vue-contextmenu

在 Vue 应用中引入并注册上下文菜单组件:

5. 使用 拖拽 组件

在组件中使用 draggable 组件,并在需要右键的元素上绑定上下文菜单事件:

6. 使用上下文菜单

在需要右键显示菜单的元素上绑定事件:

关闭其他
关闭左侧
关闭右侧

7. 方法实现

在组件的 methods 中定义相关函数:

methods: {  onStart() {    this.drag = true;  },  onEnd() {    this.drag = false;  },  rightClick(e) {    this.$refs.ctxshow.showMenu(e);  },  other() {    console.log(this.index1);    this.$store.commit('closeOther', this.index1);    this.$refs.ctxshow.hideMenu();  },  closeLeft() {    this.$store.commit('closeLeft', this.index1);    this.$refs.ctxshow.hideMenu();  },  closeRight() {    this.$store.commit('closeRight', this.index1);    this.$refs.ctxshow.hideMenu();  }}

8. 效果展示

通过上述配置,用户可以在组件中实现拖拽功能,同时在右键点击时显示自定义菜单,满足多种交互需求。

转载地址:http://iiliz.baihongyu.com/

你可能感兴趣的文章
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.amqp.AmqpConnectException:java.net.ConnectException:Connection timed out:connect
查看>>
org.springframework.beans.factory.BeanDefinitionStoreException
查看>>
org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>