当前位置:   article > 正文

el-tooltip动态根据内容是否超出隐藏来进行显示_el-tooltip placement

el-tooltip placement

平常项目中经常出现文本内容过长需要处理成省略的形式,有一些需求要求hover时将隐藏后的文本全部显示出来,如果内容不长整好显示完整则不需要hover显示,这时需要组件进行特殊处理。

代码如下:

  1. <template>
  2. <div class="tooltip-wrap">
  3. <el-tooltip
  4. ref="tlp"
  5. :content="text"
  6. effect="dark"
  7. :disabled="!tooltipFlag"
  8. :placement="placement"
  9. class="tooltip">
  10. <span :class="className" @mouseenter="visibilityChange($event)">{{text}}</span>
  11. </el-tooltip>
  12. </div>
  13. </template>
  14. <script>
  15. export default {
  16. name: 'ellipsisTooltip',
  17. props: {
  18. text: { // 文本内容
  19. type: String,
  20. default: () => ''
  21. },
  22. className: {
  23. type: String,
  24. default: () => 'text'
  25. },
  26. placement: {
  27. type: String,
  28. default: () => 'top-start'
  29. }
  30. },
  31. data() {
  32. return {
  33. disabledTip: false,
  34. tooltipFlag: false
  35. }
  36. },
  37. mounted() {
  38. },
  39. methods: {
  40. visibilityChange(e) {
  41. const ev = e.target
  42. const evWidth = ev.offsetWidth
  43. const contentWidth = this.$refs.tlp.$el.parentNode.clientWidth
  44. this.tooltipFlag = contentWidth < evWidth
  45. }
  46. }
  47. }
  48. </script>
  49. <style lang="scss" scoped>
  50. .tooltip-wrap{
  51. overflow: hidden;
  52. text-overflow: ellipsis;
  53. span{
  54. white-space: nowrap;
  55. }
  56. }
  57. </style>

通过import引用并且创建该组件

  1. import ellipsisTooltip from '@/components/ellipsisTooltip'
  2. components: {
  3. ellipsisTooltip
  4. }

 引用创建后的组件传入需要处理的文本内容即可,代码如下:

  1. <span>
  2. <ellipsisTooltip text="内容" />
  3. </span>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/91884
推荐阅读
相关标签
  

闽ICP备14008679号