deleteUploadImg3.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div style="padding: 14px;background-color: #fff;">
  3. <van-row gutter="10" >
  4. <van-col span="6" v-for="(urls, index) in imgs" :key="index">
  5. <div class="imgview">
  6. <van-icon name="close" size="16" v-on:click="deleteImg(index)"/>
  7. <img :src="urls" width="100px" height="100px" @click="previewsImg(index)"/>
  8. </div>
  9. </van-col>
  10. </van-row>
  11. </div>
  12. </template>
  13. <script>
  14. import {ImagePreview} from "vant";
  15. import {removePhoto} from "@/api/index";
  16. export default {
  17. name: 'deleteUploadImg',
  18. props: {
  19. imgs: {
  20. type: Array,
  21. default() {
  22. return []
  23. }
  24. },
  25. },
  26. methods: {
  27. deleteImg(index) {
  28. this.imgs.splice(index, 1);
  29. },
  30. previewsImg(index) {
  31. var arrimg = []
  32. for (var imgi = 0; imgi < this.imgs.length; imgi++) {
  33. arrimg.push(this.imgs[imgi])
  34. }
  35. ImagePreview({
  36. images: arrimg,
  37. startPosition: index
  38. });
  39. },
  40. },
  41. }
  42. </script>
  43. <style lang="scss" scoped>
  44. .imgview {
  45. width: 100%;
  46. height: 72px;
  47. position: relative;
  48. display: inline-block;
  49. margin-bottom: 10px;
  50. i {
  51. position: absolute;
  52. right: -2px;
  53. top: -3px;
  54. color: white;
  55. background: red;
  56. overflow: hidden;
  57. border-radius: 50%;
  58. }
  59. img {
  60. width: 100%;
  61. height: 100%;
  62. }
  63. }
  64. </style>