广告
返回顶部
首页 > 资讯 > 精选 >怎么使用element+vuedraggable实现图片上传拖拽排序
  • 687
分享到

怎么使用element+vuedraggable实现图片上传拖拽排序

2023-06-29 22:06:10 687人浏览 薄情痞子
摘要

这篇文章主要介绍了怎么使用element+Vuedraggable实现图片上传拖拽排序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用element+vuedraggable实现图片上传拖拽排序文章都会有

这篇文章主要介绍了怎么使用element+Vuedraggable实现图片上传拖拽排序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用element+vuedraggable实现图片上传拖拽排序文章都会有所收获,下面我们一起来看看吧。

具体代码如下

<template>    <div class="allUpload">        <div class="clearfix">            <div class="wrap">                <draggable                    v-model="value"                      animation="400"                     class="clearfix"                >                    <transition-group>                        <div class="left middleCenter" v-for="(item,index) in value" :key="item.id">                            <img :src="item.url" alt="">                                                        <div class="content-wrap">                                <div class="content middleCenter">                                    <i class="el-icon-zoom-in" @click="showImg(item.url)" ></i>                                    <i class="el-icon-delete" @click="delImg(item,index)"></i>                                </div>                            </div>                        </div>                                            </transition-group>                    <div slot="footer" >                        <el-upload                            class="wrap"                            list-type="picture-card"                            :action="imgUploadUrl"                            :show-file-list="false"                            :limit="max"                            :on-progress="handlePictureCardPreview"                            :on-exceed="onExceed"                            :disabled="disabled"                            :on-change="onChange"                            :file-list="fileList"                            :multiple="true"                            :on-success="handleSuccess"                            v-if="isUploadBtn"                        >                            <i slot="default" :class="uploadLoading ? 'el-icon-loading' : 'el-icon-plus'"></i>                        </el-upload>                    </div>                </draggable>            </div>                    </div>                <el-dialog title="查看图片" :visible.sync="dialogVisible">            <img width="100%" :src="dialogImageUrl" alt="">        </el-dialog>    </div></template><script>import draggable from 'vuedraggable'import {imgUpload} from '@/api/upload'import {MathRandom} from '@/utils/auth'import { promises } from 'fs'export default {    name:'Upload',    data () {        return {            dialogImageUrl: '',            uploadLoading:false,            dialogVisible: false,            disabled: false,            fileList:[],            imgUploadUrl:imgUpload(),            arrs:[]        }    },    props: {        value: {            type: () => [],            default () {                return []            }        },        max:{            type:[Number,String],            default:9        },        disabled:{            type:Boolean,            default:false        }    },    model:{        event: 'giveActive'    },    computed:{        isUploadBtn(){            return this.value.length<this.max        },        imgArr(){            return this.value        }    },    mounted(){        this.value =[]        // this.fileList =[]        const unwatch = this.$watch('value', function(newValue, oldValue){            console.log(12312323)            this.fileList = newValue            unwatch()        });    },    methods: {               Go () {            this.$emit('giveActive', this.value);        },        showImg(url){            this.dialogImageUrl = url            this.dialogVisible = true        },        delImg(item,index){            this.$confirm('此操作将永久删除该图片, 是否继续?', '提示', {                confirmButtonText: '确定',                cancelButtonText: '取消',                type: 'warning'            }).then(() => {                this.value.splice(index,1)                this.fileList.splice(index,1)                this.go()            }).catch(() => {                                    });        },        onChange(file,fileList){            this.fileList = fileList        },                handlePictureCardPreview(file) {            this.uploadLoading = true        },        onExceed(files, fileList,props){            this.$message({                message:`超出最大上传数量,最多可上传${this.max}张图片`,                type:'error'            })        },        handleSuccess(response, file,fileList) {            this.uploadLoading =false            this.urlList(response)        },        urlList(res){            const obj={                id:MathRandom(),                url:res.data.data,                status:'success',                uid:MathRandom()            }            if(this.value.length<this.max){                                this.value = [...this.value,obj]                this.go()            }                    }    }}</script><style lang='sCSS' scoped>    .allUpload{        .left{            float: left;            width: 148px;            height: 148px;            border-radius: 6px;            border: 1px solid #c0ccda;            margin:0 20px 20px 0;            overflow: hidden;            position: relative;            cursor: pointer;            &:hover{                .content-wrap{                    display: block;                }            }            .content-wrap{                display: block;            }            img{                max-width: 100%;                max-height: 100%;                object-fit: cover;            }            .content-wrap{                display: none;                position: absolute;                z-index: 99999999;                width: 100%;                height: 100%;                background:rgba($color: #000000, $alpha: 0.4);                .content{                    width: 100%;                    height: 100%;                    i{                        color: #fff;                        font-size: 18px;                        &:nth-of-type(1){                            margin-right: 10px;                                                    }                        &:nth-of-type(2){                            margin-left: 10px;                                                    }                    }                }            }                    }                .wrap{            float: left;        }    }</style>

效果图

怎么使用element+vuedraggable实现图片上传拖拽排序

关于“怎么使用element+vuedraggable实现图片上传拖拽排序”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么使用element+vuedraggable实现图片上传拖拽排序”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么使用element+vuedraggable实现图片上传拖拽排序

本文链接: https://www.lsjlt.com/news/326513.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用element+vuedraggable实现图片上传拖拽排序
    本文实例为大家分享了用element+vuedraggable实现图片上传拖拽排序的具体代码,供大家参考,具体内容如下 <template>     <div cl...
    99+
    2022-11-13
  • 怎么使用element+vuedraggable实现图片上传拖拽排序
    这篇文章主要介绍了怎么使用element+vuedraggable实现图片上传拖拽排序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用element+vuedraggable实现图片上传拖拽排序文章都会有...
    99+
    2023-06-29
  • 微信小程序图片上传组件实现图片拖拽排序
    目录引言首先来看效果组件设计使用方式总结引言 图片上传组件是一个组件库目前来看必不可少的功能了。笔者近日给自己开源的toy工具库也添加了这一功能。相比原生和大部分组件库来说,它不仅支...
    99+
    2022-11-13
  • vue使用vuedraggable实现嵌套多层拖拽排序功能
    本文实例为大家分享了vuedraggable实现嵌套多层拖拽排序功能的具体代码,供大家参考,具体内容如下 vue中实现嵌套多层拖拽功能。官网入口: 实现效果:(拖动左侧调整一级的顺序...
    99+
    2022-11-13
  • 微信小程序怎么实现图片拖拽排序
    这篇文章主要介绍“微信小程序怎么实现图片拖拽排序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么实现图片拖拽排序”文章能帮助大家解决问题。首先来看效果对于组件内部来说。笔者提供了一个参数...
    99+
    2023-06-29
  • vue3怎么使用vuedraggable实现拖拽功能
    这篇文章主要介绍了vue3怎么使用vuedraggable实现拖拽功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3怎么使用vuedraggable实现拖拽功能文章都会有所收获,下面我们一起来看看吧。n...
    99+
    2023-06-29
  • 怎么使用HTML5与CSS3实现无插件拖拽上传图片功能
    这篇文章主要介绍“怎么使用HTML5与CSS3实现无插件拖拽上传图片功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用HTML5与CSS3实现无插件拖拽上传图片功能”文章能帮助大家解决问题。...
    99+
    2023-07-04
  • html5怎么实现多图片预览上传及点击可拖拽控件
    小编给大家分享一下html5怎么实现多图片预览上传及点击可拖拽控件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在做图片上传时发现一个蛮好用的控件,支持多张图片同...
    99+
    2023-06-09
  • 使用微信小程序实现图片拖拽功能
    使用微信小程序实现图片拖拽功能引言:随着微信小程序的流行,更多的开发者开始探索小程序的各种功能和特性。其中,实现图片拖拽功能是一项常见的需求。本文将介绍如何使用微信小程序的API和组件,实现图片拖拽的效果,并提供具体的代码示例。一、设计思路...
    99+
    2023-11-21
    图片 微信小程序 拖拽
  • vue使用element实现上传图片和修改图片功能
    目录前言一、应用场景1.上传图片并进行放大预览2.图片上传代码二、修改已经上传的图片,并展示到图片列表中1.效果展示(先展示原来的图片,再上传新图片,也可删除原来的图片)2.编辑代码...
    99+
    2022-11-13
  • 怎么在Android中使用RecyclerView实现一个图标拖拽排序功能
    这期内容当中小编将会给大家带来有关怎么在Android中使用RecyclerView实现一个图标拖拽排序功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现的思路用两个RecyclerView实现,同时...
    99+
    2023-06-14
  • vue怎么实现拖动图片进行排序Vue.Draggable
    这篇文章主要介绍了vue怎么实现拖动图片进行排序Vue.Draggable的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么实现拖动图片进行排序Vue.Draggable文章都会有所收获,下面我们一起来看...
    99+
    2023-06-30
  • ImgUploadJS中如何使用HTML5 File API 实现截图粘贴上传、拖拽上传
    这篇文章将为大家详细讲解有关ImgUploadJS中如何使用HTML5 File API 实现截图粘贴上传、拖拽上传 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 . 背景及效果 当前互联网上传文件最...
    99+
    2023-06-09
  • vue如何使用element实现上传图片和修改图片功能
    本篇内容主要讲解“vue如何使用element实现上传图片和修改图片功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何使用element实现上传图片和修改图片功能”吧!一、应用场景1....
    99+
    2023-07-02
  • 使用ajax怎么实现一个拖拽上传文件功能
    本篇文章给大家分享的是有关使用ajax怎么实现一个拖拽上传文件功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。<!DOCTYPE html><ht...
    99+
    2023-06-08
  • 小程序怎么实现多图片上传
    这篇文章主要介绍“小程序怎么实现多图片上传”,在日常操作中,相信很多人在小程序怎么实现多图片上传问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么实现多图片上传”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-26
  • 怎么用php实现图片上传
    这篇文章主要介绍了怎么用php实现图片上传的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用php实现图片上传文章都会有所收获,下面我们一起来看看吧。一、创建html页面首先,我们要创建一个html页面,这个...
    99+
    2023-07-05
  • 怎么使用vue+element-plus实现上传图片、回显问题及数量限制
    这篇文章主要介绍“怎么使用vue+element-plus实现上传图片、回显问题及数量限制”,在日常操作中,相信很多人在怎么使用vue+element-plus实现上传图片、回显问题及数量限制问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-07-06
  • 怎么使用vue+gojs实现拖拽流程图效果
    这篇文章主要介绍“怎么使用vue+gojs实现拖拽流程图效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用vue+gojs实现拖拽流程图效果”文章能帮助大家解决问题。一、流程图效果二、为什么...
    99+
    2023-07-05
  • 怎么利用vue组件实现图片的拖拽和缩放功能
    这篇文章将为大家详细讲解有关怎么利用vue组件实现图片的拖拽和缩放功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言vue实现一个组件其实很简单但是要写出一个好的可复用的组件那就需要多学...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作