AntV+Vue实现导出图片功能

 更新时间:2023年01月31日 11:09:31   作者:打小就霸  
AntV 组织图操作完毕以后,需要点击按钮将画布以图片的形式导出,这篇文章主要介绍了AntV结合Vue实现导出图片功能,需要的朋友可以参考下

一、业务场景:

AntV 组织图操作完毕以后,需要点击按钮将画布以图片的形式导出

二、问题描述:

官网上有4个方法,我用的是
graph.toFullDataURL(callback, type, imageConfig)

三、具体实现步骤:

(1)添加导出按钮

      <a-button type="primary" @click="exportImg">
        导出图谱
      </a-button>

(2)实现逻辑

exportImg(){
		//这里涉及到了组件传值,用的是子组件里面的方法
      console.log(this.$refs.workflow.graph)
      this.$refs.workflow.graph.toFullDataURL(// 第一个参数为 callback,必须
        (res) => {
          console.log(res); // 打印出结果
          // 下载
          var oA = document.createElement('a')
          oA.download = this.tempObj.name
          oA.href = res
          document.body.appendChild(oA)
          oA.click()
          oA.remove() // 下载之后把创建的元素删除
        },
        // 后两个参数不是必须
        'image/jpeg',
        {
          backgroundColor: '#fff',
          padding: 10,
        }
      )
    },

四、完整代码

<template>
  <!--设置parentContent的宽高为浏览器大小-->
  <div class="parentContent" ref="parentContent">
    <a-button type="primary" @click="exportImg">
      导出图谱
    </a-button>
    <div id="container" ref="container"></div>
  </div>
</template>

<script>
  import G6 from '@antv/g6'
  export default {
    name: 'g6',
   methods: {
      exportImg(){
        //这里涉及到了组件传值,用的是子组件里面的方法
        console.log(this.graph)
        this.graph.toFullDataURL(// 第一个参数为 callback,必须
          (res) => {
            console.log(res); // 打印出结果
            // 下载
            var oA = document.createElement('a')
            oA.download = '996'
            oA.href = res
            document.body.appendChild(oA)
            oA.click()
            oA.remove() // 下载之后把创建的元素删除
          },
          // 后两个参数不是必须
          'image/jpeg',
          {
            backgroundColor: '#fff',
            padding: 10,
          }
        )
      },
        }
</script>

五、效果展示:

在这里插入图片描述

到此这篇关于AntV结合Vue实现导出图片功能的文章就介绍到这了,更多相关Vue导出图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue仿支付宝支付功能

    Vue仿支付宝支付功能

    这篇文章主要介绍了Vue仿支付宝支付功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • axios模块化封装实例化及vue本地解决跨域方案

    axios模块化封装实例化及vue本地解决跨域方案

    这篇文章主要为大家介绍了axios模块化封装实例化及vue本地解决跨域示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • vue如何修改浏览器的标题title

    vue如何修改浏览器的标题title

    这篇文章主要介绍了vue如何修改浏览器的标题title问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue3二次封装element-ui中的table组件的过程详解

    vue3二次封装element-ui中的table组件的过程详解

    这篇文章主要给大家介绍了vue3二次封装element-ui中的table组件的过程,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友跟着小编一起来学习吧
    2024-01-01
  • vue中@click绑定事件点击不生效的原因及解决方案

    vue中@click绑定事件点击不生效的原因及解决方案

    根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件,这篇文章主要介绍了vue中@click绑定事件点击不生效的解决方案,需要的朋友可以参考下
    2022-12-12
  • vue 循环动态设置ref并获取$refs方式

    vue 循环动态设置ref并获取$refs方式

    这篇文章主要介绍了vue 循环动态设置ref并获取$refs方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • VUE中V-IF条件判断改变元素的样式操作

    VUE中V-IF条件判断改变元素的样式操作

    这篇文章主要介绍了VUE中V-IF条件判断改变元素的样式操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧
    2020-08-08
  • vue对象或者数组中数据变化但是视图没有更新问题及解决

    vue对象或者数组中数据变化但是视图没有更新问题及解决

    这篇文章主要介绍了vue对象或者数组中数据变化但是视图没有更新问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 使用Vue实现网站SEO优化的方法示例

    使用Vue实现网站SEO优化的方法示例

    在如今这个数字化和信息化的时代,搜索引擎优化(SEO)已经成为网站成功的关键因素之一,在使用现代化框架如Vue.js进行开发时,开发者通常关注的是构建高效的单页面应用,本文将介绍如何使用Vue来优化网站的SEO,并提供一些示例代码帮助您实现这些优化
    2024-11-11
  • VUE 实现复制内容到剪贴板的两种方法

    VUE 实现复制内容到剪贴板的两种方法

    这篇文章主要介绍了VUE 实现复制内容到剪贴板功能,本文通过两种方法,给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-04-04

最新评论