vue+vant webApp图片上传和编辑时图片回显

6 篇文章 0 订阅

        

          upload-text="选取图片"

          v-model="imageList"      //图片上传成功后,afterRead方法回调,会把图片信息赋值给imageList

          :after-read="afterRead"   //回调函数

          :max-count="9"      //最大上传数量

          multiple     //是否开启图片多选,部分安卓机型不支持

        />

      

import {

  CellGroup,

  Cell,

  Uploader

} from "vant";

components: {

    [CellGroup.name]: CellGroup,

    [Cell.name]: Cell,

    [Uploader.name]: Uploader

  },

data() {

    return {   

    show: {

        classCode: "",

        userName: "",

        honorsName: "",

        issuingUnit: "",

        obtainDate: "",

        explainMes: "",

        photoList: []

      },

      imageList: [] //图片数组

     tempImageList:[] //保存原先的图片

    };

  },

//图片上传

    async afterRead(file, detail) {

      let files = [];

      if (Array.isArray(file)) {

        files = file;

      } else {

        files = [file];

      }

      for (let index = 0; index < files.length; index++) {

        const element = files[index];

       //图片压缩

        let obj = await this.common.imgPreview(element.file);

        element.status = "uploading";

        element.message = "上传中...";

        //图片上传接口

        let data = await uploadFile(obj.file);

        if (data.code == "success") {

          element.status = "success";

          element.fileUrl = data.data[0].filePath;

        } else {

          element.message = "上传失败";

          element.status = "failed";

        }

      }

    }

----------------------------编辑时图片回显---------------------

 //获取数据详情

    async initEdit(id) {

      const res = await getStudentHonors({ id });  //获取荣誉详情

      if (res.code == "success") {

        this.show.id = id;

        for (let key in this.show) {

          this.show[key] = res.data[key];

        }

        this.studentName = res.data.stuName;

        this.className = res.data.className;

        //保存原先的图片路径

        this.tempImageList = res.data.photoList;

        res.data.photoList.map(item => {

               Image_Path为图片在服务器中的路径

               this.imageList.push({ url: Image_Path + item });    //回显图片的关键

        });

      }

    }

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值