theme.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <div class="tag-group my-2 flex flex-wrap gap-1 items-center">
  3. <span class="tag-group__title m-1 line-height-2">Dark</span>
  4. <el-tag v-for="item in items" :key="item.label" :type="item.type" class="mx-1" effect="dark">
  5. {{ item.label }}
  6. </el-tag>
  7. <el-tag v-for="item in items" :key="item.label" :type="item.type" class="mx-1" effect="dark" closable>
  8. {{ item.label }}
  9. </el-tag>
  10. </div>
  11. <div class="tag-group my-2 flex flex-wrap gap-1 items-center">
  12. <span class="tag-group__title m-1">Light</span>
  13. <el-tag v-for="item in items" :key="item.label" class="mx-1" :type="item.type" effect="light">
  14. {{ item.label }}
  15. </el-tag>
  16. <el-tag v-for="item in items" :key="item.label" class="mx-1" :type="item.type" effect="light" closable>
  17. {{ item.label }}
  18. </el-tag>
  19. </div>
  20. <div class="tag-group my-2 flex flex-wrap gap-1 items-center">
  21. <span class="tag-group__title m-1">Plain</span>
  22. <el-tag v-for="item in items" :key="item.label" class="mx-1" :type="item.type" effect="plain">
  23. {{ item.label }}
  24. </el-tag>
  25. <el-tag v-for="item in items" :key="item.label" class="mx-1" :type="item.type" effect="plain" closable>
  26. {{ item.label }}
  27. </el-tag>
  28. </div>
  29. </template>
  30. <script lang="ts" setup>
  31. import { ref } from 'vue'
  32. import type { TagProps } from 'element-plus'
  33. type Item = { type: TagProps['type']; label: string }
  34. const items = ref<Array<Item>>([
  35. { type: '', label: 'Tag 1' },
  36. { type: 'success', label: 'Tag 2' },
  37. { type: 'info', label: 'Tag 3' },
  38. { type: 'danger', label: 'Tag 4' },
  39. { type: 'warning', label: 'Tag 5' },
  40. ])
  41. </script>