vue+element ui实现图片上传并拖拽进行图片排序

这篇具有很好参考价值的文章主要介绍了vue+element ui实现图片上传并拖拽进行图片排序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用到的技术栈:

  • vue2
  • element Ui
  • vue-dragging

如何使用:

第一步: 安装

npm install awe-dnd --save

第二步: 引入

main.js 文件
// 引入组件
import VueDND from 'awe-dnd'
// 添加至全局
Vue.use(VueDND)

具体项目代码

<el-form-item label="封面图" prop="region">
    <div style="width: 100%;display: flex;">
       <div class="imgs">
             <!-- 上传后的图片显示在这里 -->
             <!-- : v-dragging="{ item: item, list: coverFileList, group: 'cover' }"
                这种形式进行指令绑定,其中 item 就是单个对象,而 list 则是数据列表,group 则是用来声明一个组,来保证可以在一个页面中进行多个数据源的操作。 -->
             <div :style="{ backgroundImage: 'url(' + item.url + ')' }" v-for="(item, index) in coverFileList"
                v-dragging="{ item: item, list: coverFileList, group: 'cover' }" :key="index">
                <i class="el-icon-circle-close" @click="coverDelete(index)"></i>
             </div>
             <!-- 调用element ui上传组件 -->
             <!-- show-file-list	是否显示已上传文件列表 -->
             <!-- 这里不用组件的显示,用我们自己写的,便于实现拖住 -->
             <el-upload drag :action="action" multiple :name="file_name" :show-file-list="false"
                list-type="picture-card" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"
                accept=".jpg,.png,.jpeg" :on-error="coverError">
                <span>上传图片</span>
             </el-upload>
         </div>
      </div>
    <div style="font-size: 14px;color: #909399;">注:最多可上传9张图片,单张大小需限制在10M以内,拖动可进行排序</div>
</el-form-item>
<script>
	export default{
		name: 'addResource',
		data(){
			retutn{
				coverFileList: [], //封面图图片集
			}
		},
		methods:{
			//上传成功
			handleAvatarSuccess(res, file){
				if (res.status == 0) {
            		this.$message.error('上传失败');
            		return
         		}
         		let item = Object.assign({ 'name': file.name, 'url': res.data.url })
         		this.coverFileList.push(item);
			},
			//上传文件之前 根据自己业务补充
			 beforeAvatarUpload (file){
			 	//判断上传有没有超过次数限制
			 	//验证图片格式和大小等逻辑
			 },
			 //上传失败函数
			 coverError (err, file, fileList){
			 	this.$message.error('上传失败');
			 }//删除上传的图片
			 coverDelete (index) {
			 	this.coverFileList.splice(index, 1);
			 }
		}
	}
</script>
<style lang="scss" scoped>
 .imgs {
         display: flex;
         flex-wrap: wrap;

         div {
            width: 148px;
            height: 148px;
            border-radius: 6px;
            margin-right: 10px;
            background-size: cover;
            background-repeat: no-repeat;
            // border: 1px solid #c0ccda;
            position: relative;
            margin-bottom: 20px;

            i {
               font-size: 20px;
               position: absolute;
               right: -5px;
               top: -5px;

               &:hover {
                  cursor: pointer;
                  color: #409EFF;
               }
            }
         }
      }
</style>

效果展示:

Video_23-11-13_10-17-30


end~~~

如有错误或观点不一致的请评论留言共同讨论,本人前端小白一枚,根据自己实际项目遇到的问题进行总结分享,谢谢大家的阅读!文章来源地址https://www.toymoban.com/news/detail-821593.html

到了这里,关于vue+element ui实现图片上传并拖拽进行图片排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一看就会;vue实现图片上传回显及修改(element-ui限制一张图片上传,没有图片显示+号,有图片显示图片隐藏+号)

    1.单独封装element-UI的upload文件上传组件; 2.组件完成上传、回显、修改功能; 3.没有图片时,显示上传的+号,有图片时隐藏上传的+号;   父组件:  代码:

    2024年02月15日
    浏览(36)
  • Vue上传图片功能【element ui】

    路径那里是axios请求根路径和接口文档里面后端给的路径拼接的 只要看到这个就证明这张图片并没有上传成功 我已经通过axios的request拦截器为每一个请求都挂载了一个Authorization也就是token,挂载了这个也就说明每一个axios请求都会追加一个token 但是为什么配置了token还是显示

    2024年02月12日
    浏览(54)
  • vue脚手架 element-ui spring boot 实现图片上传阿里云 并保存到数据库

    注册登陆就不讲了,登陆进去后如下操作,另外如果服务器进行了拦截过滤的操作的话记得放行。 1. 进入对象存储OSS 创建一个新的Bucket 随后点击新建的bucket 2.去访问RAM 前往RAM控制台 3.去创建用户  4.创建密匙 5.随后返回RAM控制台  给用户增加权限,文件上传所需权限,需要带

    2024年02月07日
    浏览(84)
  • Element-ui配合vue上传图片

    这里为大家介绍饿了吗ui配合vue封装一个图片上传的组件  首先大家先看一个饿了吗ui文档的各个钩子函数的介绍! on-preview这个属性我们一般用来预览图片时使用 on-remove这个属性时文件被删除时执行 一般我们在这里面进行数组的筛选 让它保证为最新数组 on-change当文件被选择

    2024年02月09日
    浏览(78)
  • web前端之拖拽API、上传多图片时拖拽排序、表格行或列拖拽排序、复制元素跨区域放置、拖放、投掷、若依、vuedraggable、sortablejs、element、plus、vue、ui

    前言 vue3+element-puls列表行、列拖拽的需求,想找一个成熟的解决方法。但发现vue3的比较少,所以就把这个分享出来,希望可以帮助到大家。vuedraggable是一款vue3的拖拽插件,基于sortable.js实现,可以用来拖拽列表、菜单、工作台、选项卡等常见的工作场景。安装的是vuedraggabl

    2024年01月22日
    浏览(48)
  • Element UI结合vue-cropper打造图片裁剪上传组件

    props: { //图片裁切配置 options: { type: Object, default: function() { return { autoCrop: true, //是否默认生成截图框 autoCropWidth: 180, //默认生成截图框宽度 autoCropHeight: 180, //默认生成截图框高度 fixedBox: false, //是否固定截图框大小 不允许改变 previewsCircle: true, //预览图是否是原圆形 title: ‘修改

    2024年04月10日
    浏览(38)
  • vue+element ui上传图片到七牛云服务器

    本来打算做一个全部都是前端完成的资源上传到七牛云的demo,但是需要获取token,经历了九九八十一难,最终还是选择放弃,token从后端获取(springboot)。如果你们有前端直接能解决的麻烦记得私我哦!!! 效果展示 先看看文档: element ui :https://element.eleme.cn/#/zh-CN/compone

    2024年04月13日
    浏览(44)
  • Vue +vue-quill-editor+ Element UI使用富文本编辑器,上传图片,上传视频

    如果你们有问题,可以发评论提问,我看见一定回复!!!!! 一、基本使用 1、下载vue-quill-editor组件 2、引入· 富文本组件 方式一:全局引入 (在 main.js 文件中) 方式二:按需引入 (在 单个组件 中引用) 3、工具栏相关配置 4、设置工具栏中文提示 5、修改vue-quill-editor字体

    2024年02月08日
    浏览(65)
  • 实现element ui上传一张图片

    之前项目需求会使用element ui组件中的el-upload上传一张图片。因为界面只能存在一张图片,所以上传一张图片成功之后,需要隐藏上传按钮。 elment-ui组件的el-upload上传 先具体叙述一下上传流程: ①上传前,先书写好上传接口地址进action,需要请求头认证的话,使用headers。 ②

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包