main.vue 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <template>
  2. <view class="upload-model flex row wrap">
  3. <view
  4. v-for="(item,index) in uploadData"
  5. :key="index"
  6. class="upload-item relative"
  7. :style="{
  8. width:avgWidth+'rpx',
  9. height:avgWidth+'rpx',
  10. 'margin-right':((index + 1)%row===0?0:margin)+'rpx',
  11. 'margin-top': ((index < row)?0:margin)+'rpx'
  12. }"
  13. >
  14. <image :src="item.src" class="upload-image" mode="aspectFill"></image>
  15. <view class="img-close center" >
  16. <image @click.stop="deleteImage(index)" mode="aspectFill" :src="require('./images/delete.png')" class="img-close-icon"></image>
  17. </view>
  18. </view>
  19. <view
  20. :style="{
  21. width:avgWidth+'rpx',
  22. height:avgWidth+'rpx',
  23. 'margin-top': ((uploadLength < row)?0:margin)+'rpx'
  24. }"
  25. @click.stop="selectImage"
  26. class="overflow"
  27. v-show="!hidden"
  28. >
  29. <view v-if="!custom" class="select-image upload-item upload-view flex center">
  30. <image :src="require('./images/upload.png')" class="select-upload"></image>
  31. <text class="select-title">添加图片</text>
  32. <text class="select-number">(最多{{max}}张)</text>
  33. </view>
  34. <slot v-else>
  35. </slot>
  36. </view>
  37. </view>
  38. </template>
  39. <script>
  40. import props from "./props";
  41. import mixins from './mixins';
  42. export default {
  43. props,
  44. mixins
  45. }
  46. </script>
  47. <style scoped lang="scss" src="./style.scss">
  48. </style>