b-cl-context-menu.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <div class="scope">
  3. <div class="h">
  4. <span>cl-context-menu</span>
  5. 右键菜单
  6. </div>
  7. <div class="c">
  8. <p class="btn" @contextmenu.stop.prevent="open">右键点击</p>
  9. </div>
  10. <div class="f">
  11. <span class="date">2019/10/23</span>
  12. </div>
  13. </div>
  14. </template>
  15. <script>
  16. export default {
  17. methods: {
  18. open(e) {
  19. this.$crud.openContextMenu(e, {
  20. list: [
  21. {
  22. label: "新增",
  23. "suffix-icon": "el-icon-plus",
  24. callback: (_, done) => {
  25. this.$message.info("点击了新增");
  26. done();
  27. }
  28. },
  29. {
  30. label: "编辑",
  31. "suffix-icon": "el-icon-edit",
  32. callback: (_, done) => {
  33. this.$message.info("点击了编辑");
  34. done();
  35. }
  36. },
  37. {
  38. label: "删除",
  39. "suffix-icon": "el-icon-delete"
  40. },
  41. {
  42. label: "二级",
  43. "suffix-icon": "el-icon-right",
  44. children: [
  45. {
  46. label: "文本超出隐藏,有一天晚上",
  47. ellipsis: true
  48. },
  49. {
  50. label: "禁用",
  51. disabled: true
  52. },
  53. {
  54. label: "更多",
  55. callback: (_, done) => {
  56. this.$message.warning("开发中");
  57. done();
  58. }
  59. }
  60. ]
  61. }
  62. ]
  63. });
  64. }
  65. }
  66. };
  67. </script>
  68. <style lang="scss" scoped>
  69. .scope {
  70. .btn {
  71. border: 1px solid #dcdfe6;
  72. font-size: 13px;
  73. display: inline-block;
  74. padding: 5px 10px;
  75. cursor: pointer;
  76. border-radius: 3px;
  77. }
  78. }
  79. </style>