customized-option.vue 708 B

12345678910111213141516171819202122232425262728
  1. <template>
  2. <el-select-v2
  3. v-model="value"
  4. filterable
  5. :options="options"
  6. placeholder="Please select"
  7. style="width: 240px"
  8. multiple
  9. >
  10. <template #default="{ item }">
  11. <span style="margin-right: 8px">{{ item.label }}</span>
  12. <span style="color: var(--el-text-color-secondary); font-size: 13px">
  13. {{ item.value }}
  14. </span>
  15. </template>
  16. </el-select-v2>
  17. </template>
  18. <script lang="ts" setup>
  19. import { ref } from 'vue'
  20. const initials = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
  21. const value = ref([])
  22. const options = Array.from({ length: 1000 }).map((_, idx) => ({
  23. value: `Option ${idx + 1}`,
  24. label: `${initials[idx % 10]}${idx}`,
  25. }))
  26. </script>