grouping.vue 1008 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <el-select v-model="value" placeholder="Select">
  3. <el-option-group
  4. v-for="group in options"
  5. :key="group.label"
  6. :label="group.label"
  7. >
  8. <el-option
  9. v-for="item in group.options"
  10. :key="item.value"
  11. :label="item.label"
  12. :value="item.value"
  13. />
  14. </el-option-group>
  15. </el-select>
  16. </template>
  17. <script lang="ts" setup>
  18. import { ref } from 'vue'
  19. const value = ref('')
  20. const options = [
  21. {
  22. label: 'Popular cities',
  23. options: [
  24. {
  25. value: 'Shanghai',
  26. label: 'Shanghai',
  27. },
  28. {
  29. value: 'Beijing',
  30. label: 'Beijing',
  31. },
  32. ],
  33. },
  34. {
  35. label: 'City name',
  36. options: [
  37. {
  38. value: 'Chengdu',
  39. label: 'Chengdu',
  40. },
  41. {
  42. value: 'Shenzhen',
  43. label: 'Shenzhen',
  44. },
  45. {
  46. value: 'Guangzhou',
  47. label: 'Guangzhou',
  48. },
  49. {
  50. value: 'Dalian',
  51. label: 'Dalian',
  52. },
  53. ],
  54. },
  55. ]
  56. </script>