vue-draggable-resizable定制化可拖动控件

最近遇到一个需求:前端定制化生成合同模板,生成时可以在指定位置拖放指定的控件,可动态编辑指定控件的属性和位置,最后将控件的位置等属性传给后台,后续使用模板签署合同时,乙方可在模板上指定位置签署。

 点击左边控件列表=》添加控件到文件上=》点击文件上的控件激活该控件=》编辑该控件的相关字段=》提交数据

控件类型有多种,支持多个控件同时添加,文本类型支持长宽拉伸设置

刚好有一个很好用的vue插件,那就是今天的猪脚了:vue-draggable-resizable

github地址:https://github.com/mauricius/vue-draggable-resizable,文档挺详细的,使用:

npm i vue-draggable-resizable -S

main.js

import 'vue-draggable-resizable/dist/VueDraggableResizable.css';

可以直接在页面引入:

<template>
    <div class="drag-wrap">
         <vue-draggable-resizable>
                
         </vue-draggable-resizable>
     </div>
<template>
import VueDraggableResizable from 'vue-draggable-resizable';
export default {
    components: { VueDraggableResizable },
    、、、
}

渲染效果:

已经很棒了,但依然需要做进一步的定制化,满足我们项目的需求:

1、需求:由于控件可以添加多个、多种类,多以肯定会使用v-for生成多个拖拽控件,这就涉及到,当我点击控件对其属性进行编辑的时候需要知道当前点击的控件具体是哪一个。

实际情况:点击事件是没有返回参数

解决办法:把源代码拷贝出来并

  • 16
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值