index.wxml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <wxs src="../wxs/utils.wxs" module="utils" />
  2. <view class="van-uploader">
  3. <view class="van-uploader__wrapper">
  4. <!-- 预览样式 -->
  5. <view
  6. wx:if="{{ previewImage }}"
  7. wx:for="{{ lists }}"
  8. wx:key="index"
  9. class="van-uploader__preview"
  10. data-index="{{ index }}"
  11. bindtap="onClickPreview"
  12. >
  13. <image
  14. wx:if="{{ item.isImage }}"
  15. mode="{{ imageFit }}"
  16. src="{{ item.url || item.path }}"
  17. alt="{{ item.name || ('图片' + index) }}"
  18. class="van-uploader__preview-image"
  19. style="width: {{ utils.addUnit(previewSize) }}; height: {{ utils.addUnit(previewSize) }};"
  20. data-index="{{ index }}"
  21. bind:tap="onPreviewImage"
  22. />
  23. <view
  24. wx:else
  25. class="van-uploader__file"
  26. style="width: {{ utils.addUnit(previewSize) }}; height: {{ utils.addUnit(previewSize) }};"
  27. >
  28. <van-icon name="description" class="van-uploader__file-icon" />
  29. <view class="van-uploader__file-name van-ellipsis">{{ item.name || item.url || item.path }}</view>
  30. </view>
  31. <view
  32. wx:if="{{ item.status === 'uploading' || item.status === 'failed' }}"
  33. class="van-uploader__mask"
  34. >
  35. <van-icon wx:if="{{ item.status === 'failed' }}" name="close" class="van-uploader__mask-icon" />
  36. <van-loading wx:else custom-class="van-uploader__loading" />
  37. <text wx:if="{{ item.message }}" class="van-uploader__mask-message">{{ item.message }}</text>
  38. </view>
  39. <view
  40. wx:if="{{ deletable && item.deletable }}"
  41. data-index="{{ index }}"
  42. class="van-uploader__preview-delete"
  43. catch:tap="deleteItem"
  44. >
  45. <van-icon name="cross" class="van-uploader__preview-delete-icon" />
  46. </view>
  47. </view>
  48. <!-- 上传样式 -->
  49. <block wx:if="{{ isInCount }}">
  50. <view class="van-uploader__slot" bind:tap="startUpload">
  51. <slot />
  52. </view>
  53. <!-- 默认上传样式 -->
  54. <view
  55. wx:if="{{ showUpload }}"
  56. class="van-uploader__upload {{ disabled ? 'van-uploader__upload--disabled': ''}}"
  57. style="width: {{ utils.addUnit(previewSize) }}; height: {{ utils.addUnit(previewSize) }};"
  58. bindtap="startUpload"
  59. >
  60. <van-icon name="{{ uploadIcon }}" class="van-uploader__upload-icon" />
  61. <text wx:if="{{ uploadText }}" class="van-uploader__upload-text">{{ uploadText }}</text>
  62. </view>
  63. </block>
  64. </view>
  65. </view>