使用input实现上传图片

因为时间缘故(就是懒),所以有些在data里定义的值没有写出来,需要哪些东西或者字段的可以直接评论,我会一一给的。

html片段:

<div class="upload-img">
              <ul class="upload-lists">
                <li v-for="(item, index) in picLists" :key="index">
                  <img :src="item" alt="" />
                  <div class="caozuos">
                    <i
                      @click="deleteImgq(item, index)"
                      class="el-icon-delete"
                    ></i>
                  </div>
                </li>

                <li
                  v-if="picListEses == 1"
                  style="border: 1px solid black"
                  class="add-imgs el-icon-plus"
                >
                  <input @change="fileChangeqw" type="file" multiple />
                  <i v-if="!loadinges" class="iconfont icon-tianjia"></i>
                  <i v-else class="iconfont loadings icon-jiazai"></i>
                </li>
              </ul>
              <div
                class="preview-boxs"
                v-if="ispreviews"
                @click.self="ispreviews = false"
              >
                <img :src="previewItems" alt="" />
              </div>
            </div>

JS片段:

 data() {
    return {
      picLists: [],

      picListEses: 1,

      loadinges: false,

      ispreviews: false,

      previewItems: "", //用于预览
   }
},
methods:{
          fileChangeqw(e) {
      if (this.picLists.length > 20) {
        this.$message({
          message: "最多只能上传20张图片",
          type: "warning",
        });
        return;
      }
      var file = e.target.files[0];
      var list = e.target.files;
      var picLists = this.localPreview(list);
      for (let i = 0; i < picLists.length; i++) {
        var aa = picLists[i];
      }
      var formData = new FormData();
      this.ary.push(file);
      this.formDataes = formData;
      if (this.picLists.length == 19) {
        this.picListEses = "2";
      }
      this.picLists.push(aa);
      // this.$emit("changepic", this.picLists);
    },
 deleteImgq(item, index) {
      this.picLists.splice(index, 1);
      this.picListsa.splice(index, 1);
      //如果删除的图片小于20张了就把+显示出来
      if (this.picLists.length < 20) {
        this.picListEses = "1";
      }
      if (this.picListsa.length < 3) {
        this.picListsae = "1";
      }
      this.$emit("changepic", this.picListsa);
      this.$emit("changepic", this.picLists);
    },

SubmitCreationOrder() {
      var fomrDates=new FormData();
       //这里FormData用来给后台发送数据
      fomrDates.append('要给后台传的名字',给后台传的值);
      //这里的ListInsertorder是我封装好的接口  换成你的或者直接发axios请求就行
      // ListInsertorder(this.formDataes).then((res) => {
      //   console.log(res);
      // });
      this.openq = false;//因为我这个添加是一个Element里面的Dialog弹框,openq用来控制弹框是否显示
    },
  }

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值