vue实现指定区域自由拖拽、打印功能

前端Vue自定义简单通用省市区选择器picker地区选择器picker 收获地址界面模版 ### 使用方法```使用方法-- 省市区选择 show:是否显示 @sureSelectArea:确认事件 @hideShow:隐藏事件-->main.js文件设置全局函数methods: {[] : {};} else {});} else {});});```#### HTML代码实现部分```html 阅读详情

先看下效果图,实现指定区域内内容自由拖拽,不超出。动态设置字体颜色及字号;设置完成实现打印指定区域内容,样式不丢失。
请添加图片描述

1、运行命令npm i vue-draggable-resizable -S, 安装拖拽插件vue-draggable-resizable,并引入使用(下面引入是放入main.js文件中)

import VueDraggableResizable from 'vue-draggable-resizable'

// optionally import default styles
import 'vue-draggable-resizable/dist/VueDraggableResizable.css'

Vue.component('vue-draggable-resizable', VueDraggableResizable)

2、 实现指定区域内自由拖拽代码:

 <div class="p-event" id="print" style="border: 1px solid red; box-sizing: border-box; height: 500px; width: 900px;">
        <template v-for="(item, index) in list">
          <vue-draggable-resizable
            parent=".p-event"
            :grid="[10,10]"
            :x="item.x"
            :y="item.y"
            :left="form.paddingLeft"
            :key="item+index"
            :parent="true"
            w="auto"
            h="auto"
            @dragging="onDrag"
            @resizing="onResize">
            <p :style="{ fontSize: item.fontSize, color: item.color, lineHeight: item.lineHeight }">{
  
  { item.name }}</p>
          </vue-draggable-resizable>
        </template>
      </div>

class=“p-event”, parent=".p-event", :parent=“true” 是为了设置父元素,且拖拽区域不能超过父元素。
在这里插入图片描述
x与y采用随机数,是为了初次进入,不会多个数据不会挤在左上角。

2、打印指定区域内内容

 /** 打印方法 */
    doPrint() {
   
   
      const subOutputRankPrint = document.getElementById('print')
      const newContent = subOutputRankPrint.innerHTML
      const oldContent = document.body.innerHTML
      document.body.innerHTML = newContent
      window.print()
      window.location.reload()
      document.body.innerHTML = oldContent
      return false
    },

去掉页头页尾

<style media="print" scoped>
/** 去掉页头和页尾 */
@page {
   
   
  size: auto;  /* auto is the initial value */
  margin: 0mm; /* this affects the margin in the printer settings */
}
</style>

整体代码如下:

<template>
  <div style="padding:30px;">
    <h1>拖拽</h1
vue通过draggable实现拖拽功能 【代码】vue通过draggable实现拖拽功能。 阅读详情

相关推荐

Vue实战【基于wangEditor富文本编辑器+拖拽实现一个自定义打印模版】

Vue实战【基于wangEditor富文本编辑器+拖拽实现一个自定义打印模版】

商务合作/软件定制/学习交流 2828

vue如何实现边框线拖拽效果

Vue如何实现边框线拖拽效果 闲话少说,先上效果图! 这里我多加了一个点击边框线后隐藏左侧内容,给主体区域创造更大空间,这个看大家个人需求了,需要就用上 下面说下实现原理,首先这个边框线是一个单独的组件,我把它单独放在了一个公用目录下可做全局的公用组件 我们只需通过几个简单的监听事件就可以实现以上效果,分别是mousedown(鼠标左键点击下去触发的事件),mouseup(松开鼠标左键触发的事件),mousemove(指定元素鼠标移动触发的事件) 那么清楚这些后,思路就非常清晰了,点击这条边框线组件后,子

YodgeGGG的博客 4221

vue 使用 FullCalendar 实现日程管理 外部拖拽 自定义事件 事件拖拽 缩放 悬浮框 分类

fm: 用了两个星期研究这个全日历,具体的命令记不住了,就在packjson文件中导入这些东西 ,注意版本 全日历官网有不同的版本 同样 有些版本不同 就没办法使用 "@fullcalendar/core": "^4.4.2", "@fullcalendar/daygrid": "^4.3.0", "@fullcalendar/interaction": "^4.3.0", "@fullcalendar/list": "^4.4.2", "@fullcalendar/re

Austin的博客 4621

vue实现拖拽的简单案例 不超出可视区域

主要为大家详细介绍了vue实现拖拽的简单案例,不超出可视区域,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

缠中说禅交易指南

战胜市场,其实就是战胜自己的贪婪、恐惧、愚蠢,缠中说禅技术分析理论只是把市场拔光给各位看,而拔光一个人并不意味着就等于征服一个人,对于市场,其道理是一样的。不干,不可能征服市场。对于市场来说,干就是一切。技术分析的最终意义不是去预测市场要干什么,而是分析市场正在干什么,是一种当下的直观。在市场上所有的错误都是离开了这当下的直观,用想象、用情绪来代替。 市场是有规律的,但市场的规律并不是显而易见的,是需要严格的分析才能得到。更重要的是,市场的规律是一种动态的,在不同级别合力作用下显示出来的规律,企图用些单纯的

baidu_25764509的博客 2万+

睿尔曼超轻量仿人机械臂--机械臂接口介绍

本文介绍了睿尔曼超轻量仿人机械臂的控制器接口及末端接口。

realman_Rop的博客 3438

HAL库:中断处理函数 及 weak弱声明中断回调函数 详解

HAL库中断处理函数 及 weak弱声明中断回调函数

L_Z_J_I的博客 5170

通义千问AI模型对接飞书机器人-集成飞书机器人(2-2)

http请求地址上一篇百炼平台配置的应用地址。

hefaji的博客 1916

DM-VIO论文精读:从‘延迟边缘化’到‘位姿图BA’,手把手拆解单目VIO性能超越双目的秘密

本文深入解析DM-VIO技术如何通过延迟边缘化和位姿图BA创新,解决单目视觉惯性里程计(VIO)的尺度不可观性问题,并在精度上超越传统双目系统。文章详细介绍了延迟边缘化的双因子图结构设计、位姿图BA的多级初始化策略,以及系统级优化带来的性能提升,为VIO研究与实践提供了重要参考。

weixin_30616969的博客 427

一文读懂5G网络整体架构(接入网+承载网+核心网)

接入网重构分级(分工更细、效率更高)、承载网三段化升级(管道更宽、更智能)、核心网服务化云化(管理更灵活、成本更低)最终实现“成本最优、资源灵活、场景适配”,才能支撑自动驾驶、工业互联网、智慧城市、VR/AR等各种新场景,真正走进我们的生活。

鲸落寰宇 430

RK3588S之CPU--benchmark(一)

本章会基于RK3588S来介绍有关CPU常用的benchmark工具及测试过程

文艺小少年的博客 1499

全面解读 SAP Business Data Cloud

SAP 在 2025 年初正式推出(简称BDC),它把、以及全新的统一封装为一项完全托管的 SaaS 服务,配套交付“语义层 + 数据产品 + 智能应用”三层能力,为企业构建真正贴近业务语境的 “Business Data Fabric”。这一方案不仅解决了跨系统数据碎片化、治理难及 AI 训练数据可信度低的问题,还为现有 BW 客户、S/4HANA以及第三方工作负载提供云上现代化路径和零拷贝数据共享机制。本文将围绕技术架构、核心组件、业务场景、迁移路线及未来展望展开,以 Henkel 等真实案例佐证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 909

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: vant兼容问题之van-popup组件在ios上出现重叠问题
下一篇: elementUI表格合计行放顶部,合计行渲染所有数据的和(不是计算当前分页的和)
别忘了微笑_cuicui
博客等级 码龄8年 227粉丝 99原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值