装elemnetUI中用户头像上传

简介: 装elemnetUI中用户头像上传

组件.vue


在使用的时候,入股想出现边框。要自己在添加一个类哈


自己还有在添加一个哈 
  .avatar-uploader {
      border:1px solid red;
      width: 178px;
      height: 178px;
  }


组件开始


<!-- 参数讲解一下
            action             是上传服务器的地址
            show-file-list     是否显示已上传文件列表  true时,当成功时,下面会显示上传的文件名和成功的标识。最好为false
            :on-success="handleAvatarSuccess"  上传成功时的钩子函数
            :before-upload="beforeAvatarUpload"  上传之前对图片做的一些处理
            imageUrl  图片显示的地址
         -->
        <el-upload
        class="avatar-uploader"
        :action="uploadOption.url"
        :show-file-list="false"
        :on-success="handleAvatarSuccess"
        :before-upload="beforeAvatarUpload">
        <img v-if="imageUrl" :src="imageUrl" class="avatar">
        <i v-else class="el-icon-plus avatar-uploader-icon"></i>
        </el-upload>


<script>
    export default {
        data(){
            return{
                imageUrl: ''
            }
        },
        props:{
            uploadOption:{
                type:Object,
                required: true
            }
        },
        methods: {
            handleAvatarSuccess(res, file) {
                this.imageUrl = URL.createObjectURL(file.raw);
                this.$emit('upload',[res,file,this.imageUrl])
            },
            beforeAvatarUpload(file) {
                this.$emit('beupload',[file])
            }
        }
    }
</script>


<style  scoped>
  /* 自己还有在添加一个哈 */
  .avatar-uploader {
      border:1px solid red;
      width: 178px;
      height: 178px;
  }
  /*  */
  .avatar-uploader .el-upload {
    border: 1px dashed #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
  .avatar-uploader .el-upload:hover {
    border-color: #409EFF;
  }
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 178px;
    height: 178px;
    line-height: 178px;
    text-align: center;
  }
  .avatar {
    width: 178px;
    height: 178px;
    display: block;
  }
</style>


使用组件


<!-- 上传 -->
      <upload :uploadOption="uploadOption"
               @upload="haha"
               @beupload="opop"
      ></upload>


data中的数据
 uploadOption:{
      url:"https://jsonplaceholder.typicode.com/posts/"
 }
 methods:{
            haha(mess){
                console.log(mess);
            },
            opop(mess){
                console.log(mess);
            }
        }


相关文章
|
8月前
|
JSON Shell 数据格式
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
743 17
|
12月前
|
JSON 安全 数据安全/隐私保护
Python安全守护神:OAuth与JWT,让黑客望而却步的魔法阵🧙‍♂️
【10月更文挑战第2天】在网络世界中,数据安全至关重要。本文以教程形式介绍如何在Python环境中使用OAuth 2.0和JSON Web Tokens (JWT) 构建安全认证系统。OAuth 2.0 作为一种开放标准授权协议,允许客户端安全访问资源;JWT 则用于安全传输信息。二者结合可构建高效且安全的认证体系。文中详细介绍了OAuth 2.0 的工作流程及如何使用Flask-OAuthlib实现认证;并通过PyJWT库展示了JWT的生成与验证方法。最后探讨了两者结合使用的具体实践,旨在为开发者提供全面的认证解决方案。随着技术发展,这两种技术将继续在认证领域发挥重要作用。
205 5
|
网络协议 关系型数据库 MySQL
企业级云上网络构建实践
本实验介绍了企业级云上网络构建的核心概念以及构建方法,这些概念可以帮助了解如何在阿里云上快速的进行基础网络的创建、业务隔离及多网之间的互联互通,助力更好的在阿里云上规划网络。
|
存储 JSON JavaScript
在Vue 3中使用useStorage轻松实现localStorage功能
VueUse是基于Vue3的Composition API的实用函数的集合,useStorage是其中的一个函数。我们可以使用useStorage来实现我们的localStorage功能。
|
IDE API 开发工具
AirtestIDE有哪些好用但是非常隐蔽的小功能?
AirtestIDE有哪些好用但是非常隐蔽的小功能?
398 0
|
12天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
11天前
|
存储 人工智能 搜索推荐
终身学习型智能体
当前人工智能前沿研究的一个重要方向:构建能够自主学习、调用工具、积累经验的小型智能体(Agent)。 我们可以称这种系统为“终身学习型智能体”或“自适应认知代理”。它的设计理念就是: 不靠庞大的内置知识取胜,而是依靠高效的推理能力 + 动态获取知识的能力 + 经验积累机制。
379 133