dropdown-methods.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div style="font-size: 14px">
  3. <p>open(close) the Dropdown list2 will close(open) the Dropdown List1.</p>
  4. </div>
  5. <div style="margin: 15px">
  6. <el-button @click="showClick">show</el-button>
  7. </div>
  8. <el-dropdown ref="dropdown1" trigger="contextmenu" style="margin-right: 30px">
  9. <span class="el-dropdown-link"> Dropdown List1 </span>
  10. <template #dropdown>
  11. <el-dropdown-menu>
  12. <el-dropdown-item>Action 1</el-dropdown-item>
  13. <el-dropdown-item>Action 2</el-dropdown-item>
  14. <el-dropdown-item>Action 3</el-dropdown-item>
  15. <el-dropdown-item disabled>Action 4</el-dropdown-item>
  16. <el-dropdown-item divided>Action 5</el-dropdown-item>
  17. </el-dropdown-menu>
  18. </template>
  19. </el-dropdown>
  20. <el-dropdown trigger="contextmenu" @visible-change="handleVisible2">
  21. <span class="el-dropdown-link"> Dropdown List2 </span>
  22. <template #dropdown>
  23. <el-dropdown-menu>
  24. <el-dropdown-item>Action 1</el-dropdown-item>
  25. <el-dropdown-item>Action 2</el-dropdown-item>
  26. <el-dropdown-item>Action 3</el-dropdown-item>
  27. <el-dropdown-item disabled>Action 4</el-dropdown-item>
  28. <el-dropdown-item divided>Action 5</el-dropdown-item>
  29. </el-dropdown-menu>
  30. </template>
  31. </el-dropdown>
  32. </template>
  33. <script setup lang="ts">
  34. import { ref } from 'vue'
  35. const dropdown1 = ref()
  36. function handleVisible2(visible: any) {
  37. if (visible) {
  38. dropdown1.value.handleClose()
  39. } else {
  40. dropdown1.value.handleOpen()
  41. }
  42. }
  43. function showClick() {
  44. dropdown1.value.handleOpen()
  45. }
  46. </script>
  47. <style scoped>
  48. .example-showcase .el-dropdown-link {
  49. cursor: pointer;
  50. color: var(--el-color-primary);
  51. display: flex;
  52. align-items: center;
  53. }
  54. </style>