裂变星小程序-25.03.04
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.1 KiB

  1. <template>
  2. <view>
  3. <uv-upload
  4. :fileList="fileList"
  5. :multiple="multiple"
  6. :maxCount="maxCount"
  7. :width="width"
  8. :height="height"
  9. @afterRead="afterRead"
  10. @delete="deleteFile"
  11. >
  12. <slot :value="value"></slot>
  13. </uv-upload>
  14. </view>
  15. </template>
  16. <script>
  17. export default {
  18. props: {
  19. value: {
  20. default: null
  21. },
  22. multiple: {
  23. type: Boolean,
  24. default: false,
  25. },
  26. maxCount: {
  27. type: Number,
  28. default: 1,
  29. },
  30. width: {
  31. type: Number | String,
  32. default: null,
  33. },
  34. height: {
  35. type: Number | String,
  36. default: null,
  37. },
  38. },
  39. data() {
  40. return {
  41. fileList: [],
  42. }
  43. },
  44. methods: {
  45. deleteFile(){
  46. this.fileList = []
  47. this.$emit('input', null)
  48. },
  49. afterRead(e){
  50. let self = this
  51. e.file.forEach(file => {
  52. self.$Oss.ossUpload(file.url).then(url => {
  53. self.fileList = [url]
  54. self.$emit('input', url)
  55. })
  56. })
  57. },
  58. },
  59. }
  60. </script>
  61. <style scoped lang="scss">
  62. </style>