Element UI结合vue-cropper打造图片裁剪上传组件

这篇具有很好参考价值的文章主要介绍了Element UI结合vue-cropper打造图片裁剪上传组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

props: {

//图片裁切配置

options: {

type: Object,

default: function() {

return {

autoCrop: true, //是否默认生成截图框

autoCropWidth: 180, //默认生成截图框宽度

autoCropHeight: 180, //默认生成截图框高度

fixedBox: false, //是否固定截图框大小 不允许改变

previewsCircle: true, //预览图是否是原圆形

title: ‘修改头像’

}

}

},

// 上传图片的大小,单位M

imgSize: {

type: Number,

default: 2

},

//图片存储在oss上的上级目录名

imgType: {

type: String,

default: ‘’

},

// 图片地址

imageUrl: {

type: String,

default: ‘’

}

},

data() {

return {

loading: false,

isStopRun: false

}

},

methods: {

//从本地选择文件

handleChange(info) {

if (this.isStopRun) {

return

}

this.loading = true

const { options } = this

console.log(info)

this.getBase64(info.file, imageUrl => {

const target = Object.assign({}, options, {

img: imageUrl

})

this.$refs.CropperModal.edit(target)

})

},

// 上传之前 格式与大小校验

beforeUpload(file) {

this.isStopRun = false

var fileType = file.type

if (fileType.indexOf(‘image’) < 0) {

this.$message.warning(‘请上传图片’)

this.isStopRun = true

return false

}

const isJpgOrPng =

file.type === ‘image/jpeg’ ||

file.type === ‘image/png’ ||

file.type === ‘image/jpg’

if (!isJpgOrPng) {

this.$message.error(‘你上传图片格式不正确!’)

this.isStopRun = true

}

const isLtSize = file.size < this.imgSize * 1024 * 1024

if (!isLtSize) {

this.$message.error(‘图片大小不能超过’ + this.imgSize + ‘MB!’)

this.isStopRun = true

}

return isJpgOrPng && isLtSize

},

//获取服务器返回的地址

handleCropperSuccess(data) {

//将返回的数据回显

this.loading = false

this.$emit(‘crop-upload-success’, data)

},

// 取消上传

handleCropperClose() {

this.loading = false

this.$emit(‘crop-upload-close’)

},

getBase64(img, callback) {

const reader = new FileReader()

reader.addEventListener(‘load’, () => callback(reader.result))

reader.readAsDataURL(img)

}

}

}

  • 模态框 CropperModal.vue

<el-dialog :visible.sync=“visible” :title=“options.title” :close-on-click-modal=“false” width=“800” @close=“cancelHandel”>

<vue-cropper ref=“cropper” :img=“options.img” :info=“true” :autoCrop=“options.autoCrop” :autoCropWidth=“options.autoCropWidth” :autoCropHeight=“options.autoCropHeight” :fixedBox=“options.fixedBox” @realTime=“realTime”>

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端

Vue

  • 什么是MVVM?

  • mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?

  • 组件之间的传值?

  • Vue 双向绑定原理

  • 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?

  • 虚拟 DOM 实现原理

  • Vue 中 key 值的作用?

  • Vue 的生命周期

  • Vue 组件间通信有哪些方式?

  • vue 中怎么重置 data?

  • 组件中写 name 选项有什么作用?

  • Vue 的 nextTick 的原理是什么?

  • Vuex 有哪几种属性?

    CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

    vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端

    vue element 图片上传组件,2024年程序员学习,ui,vue.js,前端

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算文章来源地址https://www.toymoban.com/news/detail-846785.html

img_convert/4335d677b95caa0ea0d29141cc0c3c1f.png)

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

到了这里,关于Element UI结合vue-cropper打造图片裁剪上传组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Vue3.0使用vue-cropper遇到的问题

    在使用vue-cropper工具过程当中遇到这样一个问题,开发环境启动运行之后,截图功能可以正常使用,但是重新打包部署至服务器以后,报错:cropper未定义。 TypeError: Cannot read properties of undefined (reading \\\'cropper\\\')     at C (StepUpdate.9f3efc2b.js:1:29993)     at gr (@vue.1c4bc3aa.js:1:47798)    

    2023年04月08日
    浏览(40)
  • Vue教学17:Element UI基础组件上手,打造美观实用的Vue应用

    大家好,欢迎回到我们的Vue教学系列博客!在前十六篇博客中,我们学习了Vue.js的基础知识、安装Node.js与npm、使用Vue Devtools进行调试、Vue实例与生命周期钩子、数据绑定(单向与双向)、计算属性与侦听器、条件渲染和列表渲染、事件处理、组件之间的传值(props和$emit)、

    2024年04月14日
    浏览(53)
  • Vue搜索组件,显示热门、近期搜索(结合element ui)

    🚀 注重版权,转载请注明原作者和原文链接 🥭 作者:全栈小袁 🍎 原创个人开源博客项目(目前V3.0版本):https://github.com/yuanprogrammer/xiaoyuanboke 🍉 开源项目觉得还行的话点点star,有什么需要完善或者点子欢迎提issue 也是好久没有发文章了,之前忙着秋招校招春招,入职后一

    2024年02月16日
    浏览(57)
  • Vue结合element-ui实现导航菜单展开收缩小功能

    1. 先上个效果图    这里我把控制菜单收缩的放在中间了,是可以随便调整的。  2. 问题思路想法  ① 首先是布局,这就是个很经典的后台管理系统的容器页面,这里分为上下结构,上面一般放些系统logo、 登录的用户信息,还有一些小功能等等。然后下面又分为左右结构,

    2024年02月16日
    浏览(54)
  • vue结合element ui 实现多个文件上传、并删除不符合条件的

    多个文件上传的核心就是将文件append进FormData的实例中,向后台请求时将实例对象传送过去。  多个文件上传,传送的数据: html部分: js部分(this.$request是我自定义的请求方式,大家可以根据自身需要来调整): 1. 我们想要的效果是手动一次性上传多个文件,但是文件选取

    2024年03月20日
    浏览(60)
  • Vue上传图片功能【element ui】

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

    2024年02月12日
    浏览(53)
  • Vue 中 element-ui table 结合后端请求实现排序

    一.需求 需要对指定列,结合后端请求进行排序 二.效果 三.知识点 3.1 如果需要结合后端请求排序,将需要排序的列上设置sortable为custom 3.2 同时在el-table标签上监听sort-change事件,在事件回调中可以获取当前排序列的字段名和排序顺序,从而将这些作为发起接口请求的入参 3

    2024年02月15日
    浏览(41)
  • vue结合element-ui实现(按钮控制)动态增加减少input框功能。

    一、template部分 二、script部分 三、效果展示 这是初始页面  这是点击添加 这是删除的     四、详细说明 v-for=\\\"(item,index)in array\\\" :key = \\\"index\\\" 这个是重点!!! ! 通俗点将,就是用一个div(盒子)将input输入框包括起来,然后在div中使用 v-for=\\\"(item,index)in array\\\" :key = \\\"ind

    2024年02月12日
    浏览(58)
  • vue表格显示图片,采用element ui实现

    vue表格显示图片,采用element ui实现 首先定义一个数组tableData,然后return这个数组,采用element的表格模板,需要注意的是el-table-column标签包裹着el-image图片显示标签,但是由于作用域插槽只允许在template模板使用,所以el-image图片显示标签外加一层template模板标签,在vue3中作用

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

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

    2024年02月09日
    浏览(73)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包