main.vue 1009 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <template>
  2. <div
  3. class="el-tooltip"
  4. @mouseenter="showPopper = true"
  5. @mouseleave="showPopper = false">
  6. <div class="el-tooltip__rel" ref="reference">
  7. <slot></slot>
  8. </div>
  9. <transition :name="transition">
  10. <div
  11. class="el-tooltip__popper"
  12. :class="['is-' + effect]"
  13. ref="popper"
  14. v-show="!disabled && showPopper">
  15. <slot name="content"><div v-text="content"></div></slot>
  16. </div>
  17. </transition>
  18. </div>
  19. </template>
  20. <script>
  21. import Popper from 'main/utils/vue-popper';
  22. export default {
  23. name: 'el-tooltip',
  24. mixins: [Popper],
  25. props: {
  26. disabled: Boolean,
  27. effect: {
  28. type: String,
  29. default: 'dark'
  30. },
  31. content: String,
  32. visibleArrow: {
  33. default: true
  34. },
  35. transition: {
  36. type: String,
  37. default: 'fade-in-linear'
  38. },
  39. options: {
  40. default() {
  41. return {
  42. boundariesPadding: 10,
  43. gpuAcceleration: false
  44. };
  45. }
  46. }
  47. }
  48. };
  49. </script>