装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);
            }
        }


相关文章
|
搜索推荐 安全 Windows
Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理
Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理
1443 0
Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理
|
存储 Java Android开发
制作内置XPosed模块应用(详细教程,有手就会,无需Root即可使用)
众所周知,如今许多的安卓app,为了获利,为了赚钱,为了老板买别墅换豪车,加入了非常多的广告及推广内容以及软件模块。随着安卓的时代发展,Xposed的出现,在一定程度上改变了这种困境。
3873 0
|
Web App开发 关系型数据库 PHP
PHP+Mysql高仿百度知道签到源码演示与下载
PHP+Mysql高仿百度知道签到源码演示与下载 演示下载地址:http://www.erdangjiade.
1092 0
|
Java API Android开发
Android开发技巧——设置系统状态栏颜色
开门见山,先来三张效果图: 然后我们再来讲如何实现以及如何快速地实现。 如何实现 实现设置系统状态栏颜色需要至少在Android 4.4.2(API 19)以上。这是因为,在这个版本以下,没有任何的API可以帮助我们来实现。
1373 0
Discuz!手机版微信分享不显示缩略图的解决方案
有人提出许多方案,百度经验的最不靠谱,然后官方给的方案, 在\source\function\function_discuzcode.php 将 if(defined('IN_MOBILE') && !defined('TPL_DEFAULT')...
1856 0