vxe-table 使用 vxe-upload 在表格中实现非常强大的粘贴上传图片和附件功能

 更新时间:2024年12月05日 09:32:05   作者:可不简单  
本文通过实例代码介绍了vxe-table渲染器的强大功能,配合 vxe-upload 上传,比如复制或者截图一张图片,通过粘贴方式快速粘贴到单元格中,能支持单张、多张、查看、预览功能,感兴趣的朋友跟随小编一起看看吧

看看 vxe-table 渲染器强大到什么地步;在开发需求中,经常会在表格列表中放入图片展示,例如头像、视频图片,附件列表等,但需要对表格批量操作是,会比较繁琐,那么有没有方便操作一点的放呢,肯定是有的;

配合 vxe-upload 上传;比如复制或者截图一张图片,通过粘贴方式快速粘贴到单元格中,能支持单张、多张、查看、预览。上传精进度等。

官网:https://vxetable.cn

渲染 vxe-upload,实现粘贴、拖拽上传

<template>
  <div>
    <vxe-grid v-bind="gridOptions"></vxe-grid>
  </div>
</template>
<script>
import axios from 'axios'
export default {
  data () {
    const fileList2CellRender = {
      name: 'VxeUpload',
      props: {
        multiple: true,
        showButtonText: false,
        pasteToUpload: true,
        moreConfig: {
          maxCount: 1,
          layout: 'horizontal'
        },
        uploadMethod ({ file }) {
          const formData = new FormData()
          formData.append('file', file)
          return axios.post('/api/pub/upload/single', formData).then((res) => {
            // { url: ''}
            return {
              ...res.data
            }
          })
        }
      }
    }
    const imgList2CellRender = {
      name: 'VxeUpload',
      props: {
        mode: 'image',
        multiple: true,
        showButtonText: false,
        pasteToUpload: true,
        moreConfig: {
          maxCount: 1
        },
        imageStyle: {
          width: 40,
          height: 40
        },
        uploadMethod ({ file }) {
          const formData = new FormData()
          formData.append('file', file)
          return axios.post('/api/pub/upload/single', formData).then((res) => {
            // { url: ''}
            return {
              ...res.data
            }
          })
        }
      }
    }
    const gridOptions = {
      border: true,
      showOverflow: true,
      columnConfig: {
        resizable: true
      },
      columns: [
        { type: 'seq', width: 70 },
        { field: 'name', title: 'Name', minWidth: 180 },
        { field: 'fileList2', title: '上传附件', width: 300, cellRender: fileList2CellRender },
        { field: 'imgList2', title: '上传图片', width: 210, cellRender: imgList2CellRender }
      ],
      data: [
        { id: 10001, name: 'Test1', imgList2: [], fileList2: [{ name: 'fj562.png', url: 'https://vxeui.com/resource/img/fj562.png' }] },
        { id: 10002, name: 'Test2', imgList2: [{ name: 'fj562.png', url: 'https://vxeui.com/resource/img/fj562.png' }, { name: 'fj573.jpeg', url: 'https://vxeui.com/resource/img/fj573.jpeg' }], fileList2: [] },
        { id: 10003, name: 'Test3', imgList2: [{ name: 'fj577.jpg', url: 'https://vxeui.com/resource/img/fj577.jpg' }], fileList2: [{ name: 'fj562.png', url: 'https://vxeui.com/resource/img/fj562.png' }, { name: 'fj573.jpeg', url: 'https://vxeui.com/resource/img/fj573.jpeg' }, { name: 'fj187.jpg', url: 'https://vxeui.com/resource/img/fj187.jpg' }] }
      ]
    }
    return {
      gridOptions,
      fileList2CellRender,
      imgList2CellRender
    }
  }
}
</script>

查看 Gitee https://gitee.com/x-extends/vxe-table

到此这篇关于vxe-table 使用 vxe-upload 在表格中实现非常强大的粘贴上传图片和附件的文章就介绍到这了,更多相关vxe-table粘贴上传图片和附件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue3 之 Vue 事件处理指南

    Vue3 之 Vue 事件处理指南

    Vue事件处理是每个Vue项目的必要方面。 它用于捕获用户输入,共享数据以及许多其他创造性方式。在本文中,会介绍基础知识,并提供一些用于处理事件的代码示例。需要的小伙伴可以参考下面文章的具体内容
    2021-09-09
  • vue-cli脚手架初始化项目各个文件夹用途

    vue-cli脚手架初始化项目各个文件夹用途

    这篇文章主要介绍了vue-cli脚手架初始化项目各个文件夹用途,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • vue3项目中代码出现红色波浪线的问题及解决

    vue3项目中代码出现红色波浪线的问题及解决

    这篇文章主要介绍了vue3项目中代码出现红色波浪线的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 基于Vue2实现印章徽章组件

    基于Vue2实现印章徽章组件

    这篇文章主要介绍了如何基于vue2实现简单的印章徽章控件,文中通过示例代码讲解详细,具有一定的学习价值,需要的朋友们下面就跟随小编来一起学习学习吧
    2023-10-10
  • Vue使用PDF.js实现浏览pdf文件功能

    Vue使用PDF.js实现浏览pdf文件功能

    这篇文章主要为大家详细介绍了Vue如何使用PDF.js实现浏览pdf文件功能,文中的实现步骤讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2023-04-04
  • vue项目打包优化的方法实战记录

    vue项目打包优化的方法实战记录

    最近入职了新公司,接手了一个新拆分出来的Vue项目,针对该项目做了个打包优化,把经验分享出来,下面这篇文章主要给大家介绍了关于vue项目打包优化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Vuejs第七篇之Vuejs过渡动画案例全面解析

    Vuejs第七篇之Vuejs过渡动画案例全面解析

    这篇文章主要介绍了Vuejs第七篇之Vuejs过渡动画案例全面解析的相关资料,需要的朋友可以参考下
    2016-09-09
  • Vue2.0 多 Tab切换组件的封装实例

    Vue2.0 多 Tab切换组件的封装实例

    本篇文章主要介绍了Vue2.0 多 Tab切换组件的封装实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • vue 页面刷新、重置、更新页面所有数据的示例代码

    vue 页面刷新、重置、更新页面所有数据的示例代码

    Vue.js提供了多种方式来实现页面刷新、重置和更新页面所有数据的功能,下面通过示例代码演示vue 页面刷新、重置、更新页面所有数据,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • Vue路由切换的两种方式示例详解

    Vue路由切换的两种方式示例详解

    这篇文章主要介绍了Vue路由切换的两种方式,主要包括标签切换和js切换,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-12-12

最新评论