vertical.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <el-row class="tac">
  3. <el-col :span="12">
  4. <h5 class="mb-2">Default colors</h5>
  5. <el-menu
  6. default-active="2"
  7. class="el-menu-vertical-demo"
  8. @open="handleOpen"
  9. @close="handleClose"
  10. >
  11. <el-sub-menu index="1">
  12. <template #title>
  13. <el-icon><location /></el-icon>
  14. <span>Navigator One</span>
  15. </template>
  16. <el-menu-item-group title="Group One">
  17. <el-menu-item index="1-1">item one</el-menu-item>
  18. <el-menu-item index="1-2">item two</el-menu-item>
  19. </el-menu-item-group>
  20. <el-menu-item-group title="Group Two">
  21. <el-menu-item index="1-3">item three</el-menu-item>
  22. </el-menu-item-group>
  23. <el-sub-menu index="1-4">
  24. <template #title>item four</template>
  25. <el-menu-item index="1-4-1">item one</el-menu-item>
  26. </el-sub-menu>
  27. </el-sub-menu>
  28. <el-menu-item index="2">
  29. <el-icon><icon-menu /></el-icon>
  30. <span>Navigator Two</span>
  31. </el-menu-item>
  32. <el-menu-item index="3" disabled>
  33. <el-icon><document /></el-icon>
  34. <span>Navigator Three</span>
  35. </el-menu-item>
  36. <el-menu-item index="4">
  37. <el-icon><setting /></el-icon>
  38. <span>Navigator Four</span>
  39. </el-menu-item>
  40. </el-menu>
  41. </el-col>
  42. <el-col :span="12">
  43. <h5 class="mb-2">Custom colors</h5>
  44. <el-menu
  45. active-text-color="#ffd04b"
  46. background-color="#545c64"
  47. class="el-menu-vertical-demo"
  48. default-active="2"
  49. text-color="#fff"
  50. @open="handleOpen"
  51. @close="handleClose"
  52. >
  53. <el-sub-menu index="1">
  54. <template #title>
  55. <el-icon><location /></el-icon>
  56. <span>Navigator One</span>
  57. </template>
  58. <el-menu-item-group title="Group One">
  59. <el-menu-item index="1-1">item one</el-menu-item>
  60. <el-menu-item index="1-2">item two</el-menu-item>
  61. </el-menu-item-group>
  62. <el-menu-item-group title="Group Two">
  63. <el-menu-item index="1-3">item three</el-menu-item>
  64. </el-menu-item-group>
  65. <el-sub-menu index="1-4">
  66. <template #title>item four</template>
  67. <el-menu-item index="1-4-1">item one</el-menu-item>
  68. </el-sub-menu>
  69. </el-sub-menu>
  70. <el-menu-item index="2">
  71. <el-icon><icon-menu /></el-icon>
  72. <span>Navigator Two</span>
  73. </el-menu-item>
  74. <el-menu-item index="3" disabled>
  75. <el-icon><document /></el-icon>
  76. <span>Navigator Three</span>
  77. </el-menu-item>
  78. <el-menu-item index="4">
  79. <el-icon><setting /></el-icon>
  80. <span>Navigator Four</span>
  81. </el-menu-item>
  82. </el-menu>
  83. </el-col>
  84. </el-row>
  85. </template>
  86. <script lang="ts" setup>
  87. import {
  88. Document,
  89. Menu as IconMenu,
  90. Location,
  91. Setting,
  92. } from '@element-plus/icons-vue'
  93. const handleOpen = (key: string, keyPath: string[]) => {
  94. console.log(key, keyPath)
  95. }
  96. const handleClose = (key: string, keyPath: string[]) => {
  97. console.log(key, keyPath)
  98. }
  99. </script>