vue-print-nb element 打印element表格不全以及自定义的样式出不来问题(亲测解决)

news/2024/11/25 19:43:29/

第一部分打印表格

表格上效果:
在这里插入图片描述
在这里插入图片描述

步骤一:先安装vue-print-nb依赖,找到node_modules里的print复制一份出来

在这里插入图片描述

步骤二:把print放到自己想放的地方

在这里插入图片描述

步骤三:找到printarea.js的getFormData函数在 return copy 上面添加以下代码

  // copy是ele对象的深度拷贝,修改copy对象不会更改页面中table表格的样式,只会更改打印预览生成的表格的样式const cells = copy.querySelectorAll('.cell');const tableNode = copy.querySelectorAll('.el-table__header,.el-table__body');// el-table打印不全的问题;[].slice.call(tableNode).forEach(item => {item.style.width = '100%';const child = item.childNodes;;[].slice.call(child).forEach(element => {if(element.localName === 'colgroup') {element.innerHTML = ''}})})// el-table各自里面打印超过格子问题;[].slice.call(cells).forEach(element => {element.style.width = '100%';element.removeAttribute('style');})

步骤四:

<el-button size="medium" v-print="print">Dayin</el-button>

在这里插入图片描述

步骤五:引入自己的print (注意不要引入node_modules的)

import print from '@/libs/print';
Vue.use(print);

步骤六:data里加入

print: {id: 'printArea',popTitle: '打印', // 打印配置页上方标题extraHead: '', //最上方的头部文字,附加在head标签上的额外标签,使用逗号分隔preview: '', // 是否启动预览模式,默认是false(开启预览模式,可以先预览后打印)previewTitle: '', // 打印预览的标题(开启预览模式后出现),previewPrintBtnLabel: '', // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现)zIndex: '', // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面)previewBeforeOpenCallback() {}, //预览窗口打开之前的callback(开启预览模式调用)previewOpenCallback() {}, // 预览窗口打开之后的callback(开启预览模式调用)beforeEntryIframe() {const cells = document.querySelectorAll('.cell');[].slice.call(cells).forEach(item => {// 为了让表格中的内容自动换行,不需要的话可以删掉item.style.whiteSpace = 'pre-wrap'})},openCallback() {}, // 调用打印之后的回调事件closeCallback() {}, //关闭打印的回调事件(无法确定点击的是确认还是取消)url: '',standard: '',extraCss: '',},

就这么多~~~~,看了好多博主写的都没用,这个确实有用的。

第二部分打印自定义div

效果图:
在这里插入图片描述

步骤和打印表格基本一致写上id

在这里插入图片描述

data里面的 print也只需要对应id就行

在这里插入图片描述

重点是自定义的样式(必须需要加@media print),#printArea是id,后面必须加穿透/deep/,在后面才是自定义的样式

在这里插入图片描述


http://www.ppmy.cn/news/141931.html

相关文章

vue中使用微信聊天表情

vue中使用微信聊天表情&#xff08;vue2x版本&#xff09; 1、先准备好表情数据,新建emjoydata.js文件。 export const emojisAmap {"微笑": "emojis_0","撇嘴": "emojis_1","色": "emojis_2","发呆":…

Thinkpad Edge E440 Ubuntu12.04 无线网卡驱动 解决

参考&#xff1a; Thinkpad L540, Ubuntu 13.10, ThinkPad Wireless 2 x 2 BGNBT 4.0: No Wi-Fi. http://ubuntuforums.org/showthread.php?t2190347 正文&#xff1a; Thinkpad Edge E440 安装 Ubuntu12.04 后 无法使用无线网卡&#xff0c; 需要手动安装驱动。 下载驱动原…

mapreduce的配置及yarn的部署

mapreduce的配置 修改/export/server/etc/hadoop/mapred-env.sh export JAVA_HOME/export/server/jdk #设置jobhistoryserver的进程为1G export HADOOP_JOB_HISTORYSERVER_HEAPSIZE1000 #设置日志的等级为info export HADOOP_MAPRED_ROOT_LOGGERINFO,RFA修改mapred-site.xml …

实战助力未来|“饶派杯”XCTF车联网安全挑战赛圆满收官!

2023年5月31日&#xff0c;“饶派杯”XCTF车联网安全挑战赛于江西省上饶市圆满落幕。本次大赛由江西省委网信办、江西省工信厅、上饶市人民政府主办&#xff0c;旨在深入贯彻落实国家网络强国和交通强国战略部署&#xff0c;推动智能网联汽车技术与产业发展、加快该领域人才培养…

WPS画报的电脑壁纸怎么下载

先选一张自己喜欢的图片设置为壁纸把文件夹系统文件设置可见然后按照下面的路径打开 C:\Users\郭奕含\AppData\Roaming\kingsoft\wps\addons\data\win-i386\kwallpaper 郭奕含是我的登录名&#xff0c;你们操作时换成自己的就可以了打开kwallpaper文件里面的就是使用的壁纸文件…

设置电脑屏保全屏显示时间,酷!

Stephen 公众号后台回复【全屏时间】获取 Fliqlo Setup.exe。 先看下效果。 下载后双击运行&#xff0c;会来到屏保设置界面&#xff0c;默认选好了 Fliqlo &#xff0c;它就是全屏时间显示程序。 点击设置&#xff0c;可以设置是否用 24H 制、显示时间的大小。 设置等待时间&…

电脑屏保在哪里设置

右键点击桌面——选择属性——打开屏幕保护程序标签&#xff0c;可以选择屏保样式&#xff0c;启动时间等等设置。

怎样保护计算机桌面不被更改,电脑保护屏幕怎么设置

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 台式电脑设置屏保时间的步骤是&#xff1a; 1、鼠标在屏幕空白处点击右键&#xff0c;选择【个性化】。 2、点击右下角的屏幕保护程序。 3、在弹出的对话框里选择需要的屏保&#x…