Breadcrumb.vue 997 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <div class="breadcrumb">
  3. <span v-if="showIcon" class="return-icon" @click="router.back()"
  4. ><img src="@/assets/icons/rollback.png" alt=""
  5. /></span>
  6. <span class="title">{{ title || routeTitle }}</span>
  7. </div>
  8. </template>
  9. <script setup lang="ts">
  10. import { computed } from 'vue';
  11. import { useRouter, useRoute } from 'vue-router';
  12. defineProps({
  13. title: {
  14. type: String,
  15. default: '',
  16. },
  17. showIcon: {
  18. type: Boolean,
  19. default: false,
  20. },
  21. });
  22. const router = useRouter();
  23. const route = useRoute();
  24. // 如果没传props的title,就取route的meta.title
  25. const routeTitle = computed(() => route.meta.title);
  26. </script>
  27. <style scoped lang="scss">
  28. .breadcrumb {
  29. // position: sticky;
  30. // top: 0;
  31. background: #fff;
  32. padding: 16px 22px;
  33. margin-bottom: 10px;
  34. border-radius: 4px;
  35. z-index: 999;
  36. .return-icon {
  37. cursor: pointer;
  38. }
  39. .title {
  40. margin-left: 10px;
  41. }
  42. }
  43. </style>