27.添加讲师--头像上传

一、下载并添加上传组件  

下载地址:https://wws.lanzous.com/iKAypn3bkna   密码:e82t

将下载好的上传组件加入到前端的组件目录下

 

 二、使用上传组件

1、在save.vue页面添加更换头像

<!-- 讲师头像:TODO -->
      <!-- 讲师头像 -->
      <el-form-item label="讲师头像">

          <!-- 头衔缩略图 -->
          <pan-thumb :image="teacher.avatar"/>
          <!-- 文件上传按钮 -->
          <el-button type="primary" icon="el-icon-upload" @click="imagecropperShow=true">更换头像
          </el-button>

          <!--
      v-show:是否显示上传组件
      :key:类似于id,如果一个页面多个图片上传控件,可以做区分
      :url:后台上传的url地址
      @close:关闭上传组件
      @crop-upload-success:上传成功后的回调 -->
          <image-cropper
                        v-show="imagecropperShow"
                        :width="300"
                        :height="300"
                        :key="imagecropperKey"
                        :url="BASE_API+'/eduoss/fileoss'"
                        field="file"
                        @close="close"
                        @crop-upload-success="cropSuccess"/>

      </el-form-item>

2、定义变量和初始值

      //①定义变量和初始值
      imagecropperShow:false,//上传弹框组件是否显示
      imagecropperKey:0,//上传组件key值
      BASE_API:process.env.BASE_API,//获取dev.env.js里面地址

      saveBtnDisabled:false  //保存按钮是否禁用

3、引入组件和声明组件

import ImageCropper from '@/components/ImageCropper'
import PanThumb from '@/components/PanThumb'
export default {
  components: { ImageCropper, PanThumb },

4、修改上传接口地址

 

 5、编写上传成功和关闭上传弹框的方法

//②两个方法
    close() { //关闭上传弹框的方法
      this.imagecropperShow = false
      //上传组件初始化
      this.imagecropperKey = this.imagecropperKey + 1
    },
    cropSuccess(data) { //上传成功的方法
      this.imagecropperShow = false
      this.teacher.avatar = data.url
      this.imagecropperKey = this.imagecropperKey + 1
    }

  

 

posted @ 2021-03-19 14:21  记录人生  阅读(83)  评论(0编辑  收藏  举报