当前位置: 首页 > news >正文

建设医药网站前要做什么审核中山网站建设品牌

建设医药网站前要做什么审核,中山网站建设品牌,新建网站网络空间,ui交互设计课程培训前端工作中经常会用到把一些元素导出,比如表格,正好项目有遇到导出为excel和导出为图片,就都封装实现了一下,以供其他需求的开发者使用: 1.导出为文档 这个说白了就是下载的功能,传过去检索参数&#xff…

前端工作中经常会用到把一些元素导出,比如表格,正好项目有遇到导出为excel和导出为图片,就都封装实现了一下,以供其他需求的开发者使用:在这里插入图片描述

1.导出为文档

这个说白了就是下载的功能,传过去检索参数,按照结果下载下来,没啥说的,先上伪代码

  ....then(blob => {// 创建一个临时的URL,用于下载文件console.log("blob", blob)const url = window.URL.createObjectURL(new Blob([blob]));const link = document.createElement('a');link.href = url;link.setAttribute('download', `${xxx}.xls`);  //设置文件名字document.body.appendChild(link);link.click();document.body.removeChild(link);success()   //callbackdialog.close()  //close modal}).catch((err) => {})

记得请求添加 responseType: ‘blob’,或者headers设置Accept:‘application/vnd.ms-excel’

2.导出为图片

先说一下最终的方案,最后使用了html2canvas的方案,后面我会说一下我的实现思路

  // let element = 'ant-table'const table = document.querySelector('.xxx-table'); console.log("table :", table )html2canvas(table , { scale: 1 }).then(canvas => {  //scale是图片大小const dataUrl = canvas.toDataURL('image/png');const link = document.createElement('a');link.href = dataUrl;link.download = 'table.png';link.click();});

如果一个页面导出多个相同的元素,比如一个页面有2个table,将上方传入html2canvas的参数的table换成secondTable即可,如下

var tables = document.getElementsByClassName('ant-table');
var secondTable = tables[1]

多个元素是不能使用querySelector了, 因为querySelector只能选择单个元素,这里需要用其他的元素选择器,最好是class或者tagname等.

再先说一下我一开始实现的思路

  1. 一开始我用的是原生的canvas,创建canvas画布,设置大小等,
  2. 选择目标元素并cloneNode(true)深度拷贝目标节点下的全部后代元素
  3. 渲染元素到画布: 使用drawImage方法将克隆元素渲染到画布上。
  4. 元素被渲染到画布上后就可以使用toDataURL方法将画布内容导出为图片。
const imageUrl = canvas.toDataURL('image/png');

最后创建链接节点,自动点击,移除节点:

const downloadLink = document.createElement('a');
downloadLink.href = imageUrl;
downloadLink.download = 'element-image.png';
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);

这种方案肯定是正常的一个思路,但是一直报cloneNode()函数有问题,undefined还是找不到,不记得了,我以为不支持这个es比较新的函数,其实想解决还是可以,用原生非方法递归子节点和节点元数据。 另外还报canvas的问题。
项目太赶了,我直接pass了,使用了html2canvas的方案,有兴趣的可以去试试。

http://www.yayakq.cn/news/317610/

相关文章:

  • 网站建设后台有哪些项目centos系统怎么做网站
  • 南京网站建设丁豆褒企业网站建设策划书范文
  • 网站建设实验报告模板二维码创意设计
  • 网站建设中啥意思搭建网站服务器需要什么配置
  • 网站建设合同中英文广东同江医院网站建设
  • 建筑业企业资质标准建设部网站建筑网站、
  • 怎么把服务器做网站浏览器在线打开
  • 网站建设分为哪几种怎么在阿里云建立网站
  • 网站销售怎么做重庆本地生活网
  • 坪地网站建设哪家好沈阳做网站的互联网公司
  • 网站推广书大连网站开发公司shepiguo
  • 网站弹出框怎么做福田蒙派克车身尺寸
  • 上海网站建设域名playyo wordpress
  • 供需网站开发wordPress如何把菜单加入导航
  • 做网站虚拟主机哪里有做第三方团购的平台网站
  • 蚌埠网站建设专业公司数字营销网
  • 电商类网站开发方案asp.net做电商网站页面设计
  • 电影资源采集网站咋做wordpress安装文档
  • 微信群公告如何做网站链接wordpress怎么把设置菜单去除
  • 金华城乡建设网站网页版梦幻西游下载
  • 口味王网站建设可行分析表网站建设 网站
  • 网站上海备案查询系统网站模板 山
  • 海口市建设工程质量安全监督站网站如何建立网络销售平台
  • 佛山市水利工程建设信息网站网站怎么优化关键词
  • 环保网站建设的主题免费收录链接网
  • 电子产品东莞网站建设俄文网站策划
  • 大庆建设集团网站网站风格设计的选择
  • 免费软件电视剧网站优化文章
  • 中国建设注册管理中心网站首页在线手机动画网站模板下载安装
  • 阿里巴巴网站本土化建设宁波网站建设专业定制