template部分
<div v-show="!!pickPictures[0]" class="pickPictures">    <div v-for="(item, index) in pickPictures" :key="index" class="pickItem">    <div class="pickTop" @click="previewImg">        <img class="img" :src="item" />    </div>    <div class="pickBtn font28 fontGray" @click="removeTap(index)">删除</div>    </div></div><div v-show="pickPictures.length < 4" class="upPic">    <div class="upPicIcon" @click="upImgTap">        <img class="img" src="../assets/images/camera.png" />    </div>    <input    accept="image/*"    type="file"    max="1"    style="display: none"    ref="inputer"    @change="changeImg"    /></div>
script部分
export default {  name: "PictureForm",  data() {    return {      pickPictures: [],    };  },  methods: {    upImgTap() {      let target = this.$refs.inputer;      target.click();    },    changeImg() {      if (this.pickPictures.length > 5) {        Toast("最多上传5张图片!");        return;      }      let inputDOM = this.$refs.inputer;      let files = inputDOM.files;      this.uploadImage(files[0]);    },    uploadImage(file) {      let form = new FormData();      form.append("file", file);      config.axios.post(config.upload_async, form).then(res => {        console.log(res);        if (res.status == 200 && res.data.code == 0) {          this.pickPictures.push(res.data.data);        } else {          Toast("图片上传错误");          return;        }      });    },    removeTap(index) {      let tempList = this.pickPictures;      remove(tempList, index);      this.pickPictures = tempList;    },    getObjectURL(file) {      var url = null;      if (window.createObjectURL != undefined) {        url = window.createObjectURL(file);      } else if (window.URL != undefined) {        url = window.URL.createObjectURL(file);      } else if (window.webkitURL != undefined) {        url = window.webkitURL.createObjectURL(file);      }      return url;    },  }};
style部分
.pickPictures {  width: 100%;  height: 33.3vw;  box-sizing: border-box;  padding: 0 4.8vw;  display: flex;  justify-content: flex-start;  align-items: center;  border-bottom: 1px solid #d1d1d1;}.pickItem {  margin-right: 2.67vw;  width: 16vw;  height: 25.3vw;  display: flex;  flex-direction: column;  justify-content: space-between;  align-items: center;}.pickTop {  width: 15.7vw;  height: 15.7vw;  border: 1px solid #e2e2e2;  border-radius: 1.3vw;  overflow: hidden;}.pickBtn {  width: 15.7vw;  height: 6vw;  border: 1px solid #e2e2e2;  border-radius: 0.67vw;  line-height: 6vw;  text-align: center;}.upPic {  width: 100%;  height: 25.6vw;  box-sizing: border-box;  padding: 0 4.8vw;  display: flex;  justify-content: space-between;  align-items: center;  border-bottom: 1px solid #d1d1d1;}.upPicIcon {  width: 16vw;  height: 16vw;}.upPicTip {  width: 70.6vw;  line-height: 5.86vw;}