本文实例为大家分享了vue+Element ui实现照片墙效果的具体代码,供大家参考,具体内容如下

上面是我要实现的效果。直接上代码,简洁明了

1.前端视图代码

<div>    <el-upload      :file-list="fileList"      :headers="upload.headers"      :action="upload.url"      list-type="picture-card"      :on-preview="handlePictureCardPreview"      :on-remove="handleRemove">      <i class="el-icon-plus"></i>    </el-upload>    <el-dialog :visible.sync="dialogVisible">      <img width="100%" height="500px" :src="dialogImageUrl" alt="">    </el-dialog>  </div>

2.前端script部分代码

<script>  import { listNetSecurityImg, delNetSecurityImg } from '@/api/websitemanage/netsecurityimg'  import { getToken } from '@/utils/auth'    export default {    name: 'NetSecurityImg',    components: {},    data() {      return {        titleName: '图片管理',        form: {},        dialogImageUrl: '',        dialogVisible: false,        fileList: [],        // 照片墙        upload: {          // 设置上传的请求头部          headers: { token: getToken() },          // 上传的地址          url: process.env.VUE_APP_BASE_API + 'netSecurityImg/importNetSecurityImg'        }      }    },    created() {      this.getList()    },    methods: {      /** 网安时情图片列表 */      getList() {        this.fileList = []        listNetSecurityImg().then(response => {          const imgList = response.data          for (let i = 0; i < imgList.length; i++) {            this.fileList.push({              'uid': imgList[i].id,              'url': imgList[i].imgUrl            })          }        })      },      handleRemove(file, fileList) {        const id = file.uid        this.$confirm('是否确认删除此图片?', '警告', {          confirmButtonText: '确定',          cancelButtonText: '取消',          type: 'warning'        }).then(function() {          return delNetSecurityImg(id)        }).then(response => {          if (response.success) {            this.getList()            this.msgSuccess('删除成功')          }        }).catch(() => {          this.getList()        })      },      handlePictureCardPreview(file) {        this.dialogImageUrl = file.url        this.dialogVisible = true      }    }  }  </script>

3.api接口js

import request from '@/utils/request'    // 查询图片列表  export function listNetSecurityImg(query) {    return request({      url: 'netSecurityImg/getList',      method: 'post',      data: query    })  }    // 删除图片  export function delNetSecurityImg(id) {    return request({      url: 'netSecurityImg/delete?id=' + id,      method: 'post'    })  }

4.表的设计

注意,后台接口上传图片文件是上传到文件服务器的,文件服务器返回的图片url进入到数据库