返回顶部
首页 > 资讯 > 精选 >Vue和Element怎么自定义上传封面组件功能
  • 200
分享到

Vue和Element怎么自定义上传封面组件功能

2023-07-04 23:07:19 200人浏览 薄情痞子
摘要

这篇文章主要讲解了“Vue和Element怎么自定义上传封面组件功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue和Element怎么自定义上传封面组件功能”吧!先来看一下效果:第一张

这篇文章主要讲解了“Vue和Element怎么自定义上传封面组件功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue和Element怎么自定义上传封面组件功能”吧!

先来看一下效果:

Vue和Element怎么自定义上传封面组件功能

Vue和Element怎么自定义上传封面组件功能

Vue和Element怎么自定义上传封面组件功能

第一张图片是上传之前,第二张图片是上传成功后,第3张图片是鼠标放上去之后的效果!首先整理需求,图片上传我们使用照片墙的方式,只能上传一张图片,图片上传成功后不能继续上传,如果想要更换图片,则需要将图片删除后重新上传。点击图片上面的放大镜可以查看大图。需要限制图片上传的格式,图片的大小。组件代码:

<template>  <div class="upload">    <el-upload      :class="{'hidden':mFileList.length > 0}"      list-type="picture-card"      :on-remove="handleRemove"      :action="action"      :before-upload="beforeUploadHandle"      :on-success="successhandle"      :on-change="changeHandle"      :limit="1"      :accept="accept"      :on-exceed="handleExceed"      :file-list="fileList"      :on-preview="handlePictureCardPreview"    >      <i class="el-icon-plus"></i>    </el-upload>    <el-dialog :visible.sync="dialogVisible">      <img width="100%" :src="dialogImageUrl" alt="" />    </el-dialog>  </div></template><script>export default {  props: {    action: {      type: String,      default: "",    },    accept: {      type: String,      default: "",    },    fileList:{      type: Array,      default: () => [],    },  },  watch: {    fileList(newValue, oldValue) {      this.mFileList = newValue    }  },  data() {    return {      dialogVisible: false, //图片放大      fileImg: "", //上传图片      dialogImageUrl: "", //图片地址      mFileList:this.fileList,    };  },  methods: {    handleRemove(file, fileList) {      this.$emit("upload-remove", file);    },    handlePictureCardPreview(file) {      this.dialogImageUrl = file.url;      this.dialogVisible = true;    },    // 上传之前    beforeUploadHandle(file) {      if (file.type !== "image/jpeg" && file.type !== "image/png") {        this.$message({          message: "只支持jpg、png格式的图片!",          type: "warning",        });        return false;      }      const isLt2M = file.size / 1024 / 1024 < 2;      if (!isLt2M) {        this.$message({          message: "上传文件大小不能超过 2MB!",          type: "warning",        });        return false;      }    },    // 上传成功    successHandle(response, file, fileList) {      this.mFileList = fileList;      if (response && response.code === 200) {        this.$message.success("图片上传成功!");        this.$emit("upload-success", response, file);      } else {        this.$message.error(response.msg);      }    },    changeHandle(file, fileList) {      if(file.response && file.response.code == 500) {         this.$emit("upload-error",file);      }    },    handleExceed(files, fileList) {        this.$message.warning("只能上传1张图片!");      },  },};</script><style lang="sCSS">.upload .hidden .el-upload--picture-card {  display: none;}</style>

调用组件代码:

<template>    <div>        <el-fORM ref="dataForm"    label-width="80px">            <el-form-item label="封面" prop="cover" class="is-required">                <upload list-type="picture-card" :action="url" :accept="'.jpg,.png,.JPG,.PNG'" :fileList="fileList"                    :limit="1" @upload-success="uploadFile" @upload-remove="removeFile" @upload-error="uploadError">                </upload>            </el-form-item>        </el-form>    </div></template><script>    import Upload from '../components/cover-upload/index.vue'    export default {        components: {            Upload        },        data() {            return {                url: "",                fileList: [],            }        },        methods: {            uploadUrl() {                this.url = "Http://xxx.xxx.xxx.xxx:xxx/yyxt/admin/course/courseInfo/upload?token=075de0303b15a38833a30a7a3b494794"//上传图片的后台接口            },            uploadError(file) {                this.fileList = [];            },            uploadFile(response, file) {                this.fileList = [{                    url: response.data,                }, ];            },            removeFile(file) {                this.fileList = [];            },        },        mounted() {            this.uploadUrl();        }    }</script>

感谢各位的阅读,以上就是“Vue和Element怎么自定义上传封面组件功能”的内容了,经过本文的学习后,相信大家对Vue和Element怎么自定义上传封面组件功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Vue和Element怎么自定义上传封面组件功能

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

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

猜你喜欢
  • Vue和Element怎么自定义上传封面组件功能
    这篇文章主要讲解了“Vue和Element怎么自定义上传封面组件功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue和Element怎么自定义上传封面组件功能”吧!先来看一下效果:第一张...
    99+
    2023-07-04
  • Vue + Element 自定义上传封面组件功能
    前一段时间做项目,频繁使用到上传图片组件,而且只上传一个封面,于是想着自定义一个图片封面上传组件。先来看一下效果: 第一张图片是上传之前,第二张图片是上传成功后,第3张图片是鼠...
    99+
    2023-01-10
    Vue Element 自定义上传 Vue Element 自定义组件 Vue  Element上传组件
  • vue怎么自定义封装API组件
    这篇文章主要介绍vue怎么自定义封装API组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!自定义封装API组件1.创建vue组件<template>    <...
    99+
    2023-06-29
  • Vue Element UI + OSS怎么实现上传文件功能
    这篇文章主要为大家展示了“Vue Element UI + OSS怎么实现上传文件功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue Element UI...
    99+
    2024-04-02
  • 怎么封装一个vue自定义日历组件
    这篇文章主要介绍“怎么封装一个vue自定义日历组件”,在日常操作中,相信很多人在怎么封装一个vue自定义日历组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么封装一个vue自定义日历组件”的疑惑有所帮助!...
    99+
    2023-07-05
  • vue怎么自定义keepalive组件
    本文小编为大家详细介绍“vue怎么自定义keepalive组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么自定义keepalive组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。为什么会出现这种情...
    99+
    2023-07-02
  • vue怎么自定义事件传参
    这篇“vue怎么自定义事件传参”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么自定义事件传参”文章吧。自定义事件传参...
    99+
    2023-06-30
  • 怎么用Vue组件封装上传图片和视频
    这篇文章主要介绍“怎么用Vue组件封装上传图片和视频”,在日常操作中,相信很多人在怎么用Vue组件封装上传图片和视频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Vue组件封装上传图片和视频”的疑惑有所...
    99+
    2023-06-20
  • 自定义input组件怎么实现拖拽文件上传
    这篇“自定义input组件怎么实现拖拽文件上传”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“自定义input组件怎么实现拖拽...
    99+
    2023-07-05
  • vue怎么自定义和使用开关组件
    这篇“vue怎么自定义和使用开关组件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么自定义和使用开关组件”文章吧。s...
    99+
    2023-06-29
  • 使用vue自定义如何实现Tree组件和拖拽功能
    目录vue自定义实现Tree组件和拖拽功能vue2 + js版vue2 + ts 版总结vue自定义实现Tree组件和拖拽功能 实现功能:树结构、右键菜单、拖拽 效果图 vue2 ...
    99+
    2022-12-09
    vue自定义Tree组件 vue Tree组件 vue拖拽功能
  • 小程序怎么自定义tabBar组件封装
    这篇文章主要介绍“小程序怎么自定义tabBar组件封装”,在日常操作中,相信很多人在小程序怎么自定义tabBar组件封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么自定义tabBar组件封装”的疑...
    99+
    2023-06-25
  • 详解怎么使用vue封装一个自定义日历组件
    执行这个方法之后,此时calendarProps的值为:4、根据日历属性生成日历日期的数据当我们已经知道本月第一天对应的周几索引值、本月一共有多少天和上个月一共有多少天这三个核心数据之后,就可以开始生成对应的日历数据了。思路如下:由于大部分...
    99+
    2023-05-14
    Vue.js 数据可视化 前端
  • Vue中怎么自定义动态组件
    Vue中怎么自定义动态组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。举第一个栗子用vue-cli搭建好项目目录之后,在src/compon...
    99+
    2024-04-02
  • vue中怎么自定义全局组件
    这期内容当中小编将会给大家带来有关vue中怎么自定义全局组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Vue.use( plugin ):安装 Vue.js 插件。如...
    99+
    2024-04-02
  • vue子组件中怎么通过自定义事件向父组件传递数据
    这篇文章将为大家详细讲解有关vue子组件中怎么通过自定义事件向父组件传递数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用v-on绑定自定义事件可以让子...
    99+
    2024-04-02
  • element自定义多文件上传触发多次on-change问题怎么解决
    这篇文章主要介绍“element自定义多文件上传触发多次on-change问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“element自定义多文件上传触发多次on-change问题怎么解...
    99+
    2023-07-05
  • Vue怎么实现自定义组件自动生成
    本文小编为大家详细介绍“Vue怎么实现自定义组件自动生成”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现自定义组件自动生成”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。就目前三大前端主流数据驱动框架...
    99+
    2023-07-04
  • vue怎么给自定义的组件绑定点击事件
    这篇文章主要介绍“vue怎么给自定义的组件绑定点击事件”,在日常操作中,相信很多人在vue怎么给自定义的组件绑定点击事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么给自定义的组件绑定点击事件”的疑...
    99+
    2023-06-30
  • 自定义vue全局组件use、vuex怎么用
    这篇文章主要介绍了自定义vue全局组件use、vuex怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。自定义vue全局组件use使用(解...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作