vue中使用zrender实现页面元素拖拽

本文介绍了如何在Vue项目中利用zrender库,结合HTML5的draggable属性,实现在页面上拖拽DOM元素并将其转换为canvas上的图形。通过监听拖拽相关事件,如dragstart、dragend、dragleave、drop和dragover,实现了元素的拖放功能。zrender作为canvas的封装库,使得图形绘制更加便捷,且它也是ECharts的基础。在实际应用中,可以将任何想要拖拽的DOM元素替换掉模板层的导航栏组件。
摘要由CSDN通过智能技术生成

业务描述

这也算是一个比较经典的页面交互,长按鼠标,可以将页面上的一些dom元素拖拽到指定区域,生成指定图形
所用到的技术就是h5的draggable属性和canvas画布,而本文所用的zrender,是一个对canvas的常见操作进行了简单封装的库(ps:著名的echarts.js底层就是又基于zrender构建的)

准备工作

npm install zrender -S

代码

话不多说,直接上代码,一些坑我也会在后面指出
zrender可直接在组件中引入

// vue template层代码
<div id="myCanvas" ref="myCanvas" @drop="drop_handler" @dragover="dragover_handler" />

<el-submenu index="1">
        <template slot="title">
             <img src="@/assets/images/filter.png" width="14" height="14">
             <span>demo</span>
        </template>
        <el-menu-item-group>
             <el-menu-item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值