upload.js 727 B

12345678910111213141516171819202122232425262728293031
  1. export default {
  2. template: `
  3. <q-uploader ref="uploader" :url="computed_url">
  4. <template v-for="(_, slot) in $slots" v-slot:[slot]="slotProps">
  5. <slot :name="slot" v-bind="slotProps || {}" />
  6. </template>
  7. </q-uploader>
  8. `,
  9. mounted() {
  10. setTimeout(() => compute_url, 0); // NOTE: wait for window.path_prefix to be set in app.mounted()
  11. },
  12. updated() {
  13. this.compute_url();
  14. },
  15. methods: {
  16. compute_url() {
  17. this.computed_url = (this.url.startsWith("/") ? window.path_prefix : "") + this.url;
  18. },
  19. reset() {
  20. this.$refs.uploader.reset();
  21. },
  22. },
  23. props: {
  24. url: String,
  25. },
  26. data: function () {
  27. return {
  28. computed_url: this.url,
  29. };
  30. },
  31. };