files.vue 749 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <template>
  2. <div class="uploader-files">
  3. <slot :files="files">
  4. <ul>
  5. <li v-for="file in files" :key="file.id">
  6. <uploader-file :file="file"></uploader-file>
  7. </li>
  8. </ul>
  9. </slot>
  10. </div>
  11. </template>
  12. <script>
  13. import { uploaderMixin } from '../common/mixins'
  14. import UploaderFile from './file.vue'
  15. const COMPONENT_NAME = 'uploader-files'
  16. export default {
  17. name: COMPONENT_NAME,
  18. mixins: [uploaderMixin],
  19. computed: {
  20. files () {
  21. return this.uploader.files
  22. }
  23. },
  24. components: {
  25. UploaderFile
  26. }
  27. }
  28. </script>
  29. <style>
  30. .uploader-files {
  31. position: relative;
  32. }
  33. .uploader-files > ul {
  34. list-style: none;
  35. margin: 0;
  36. padding: 0
  37. }
  38. </style>