• Tooltip 文字提示
    • 基础用法
    • 主题
    • 更多 Content
    • 高级扩展
    • Attributes

    Tooltip 文字提示

    常用于展示鼠标 hover 时的提示信息。

    基础用法

    在这里我们提供 9 种不同方向的展示方式,可以通过以下完整示例来理解,选择你要的效果。

    Tooltip 文字提示 - 图1

    使用content属性来决定hover时的提示信息。由placement属性决定展示效果:placement属性值为:方向-对齐位置;四个方向:topleftrightbottom;三种对齐位置:start, end,默认为空。如placement="left-end",则提示信息出现在目标元素的左侧,且提示信息的底部与目标元素的底部对齐。

    1. <div class="box">
    2. <div class="top">
    3. <el-tooltip class="item" effect="dark" content="Top Left 提示文字" placement="top-start">
    4. <el-button>上左</el-button>
    5. </el-tooltip>
    6. <el-tooltip class="item" effect="dark" content="Top Center 提示文字" placement="top">
    7. <el-button>上边</el-button>
    8. </el-tooltip>
    9. <el-tooltip class="item" effect="dark" content="Top Right 提示文字" placement="top-end">
    10. <el-button>上右</el-button>
    11. </el-tooltip>
    12. </div>
    13. <div class="left">
    14. <el-tooltip class="item" effect="dark" content="Left Top 提示文字" placement="left-start">
    15. <el-button>左上</el-button>
    16. </el-tooltip>
    17. <el-tooltip class="item" effect="dark" content="Left Center 提示文字" placement="left">
    18. <el-button>左边</el-button>
    19. </el-tooltip>
    20. <el-tooltip class="item" effect="dark" content="Left Bottom 提示文字" placement="left-end">
    21. <el-button>左下</el-button>
    22. </el-tooltip>
    23. </div>
    24. <div class="right">
    25. <el-tooltip class="item" effect="dark" content="Right Top 提示文字" placement="right-start">
    26. <el-button>右上</el-button>
    27. </el-tooltip>
    28. <el-tooltip class="item" effect="dark" content="Right Center 提示文字" placement="right">
    29. <el-button>右边</el-button>
    30. </el-tooltip>
    31. <el-tooltip class="item" effect="dark" content="Right Bottom 提示文字" placement="right-end">
    32. <el-button>右下</el-button>
    33. </el-tooltip>
    34. </div>
    35. <div class="bottom">
    36. <el-tooltip class="item" effect="dark" content="Bottom Left 提示文字" placement="bottom-start">
    37. <el-button>下左</el-button>
    38. </el-tooltip>
    39. <el-tooltip class="item" effect="dark" content="Bottom Center 提示文字" placement="bottom">
    40. <el-button>下边</el-button>
    41. </el-tooltip>
    42. <el-tooltip class="item" effect="dark" content="Bottom Right 提示文字" placement="bottom-end">
    43. <el-button>下右</el-button>
    44. </el-tooltip>
    45. </div>
    46. </div>
    47. <style>
    48. .box {
    49. width: 400px;
    50. .top {
    51. text-align: center;
    52. }
    53. .left {
    54. float: left;
    55. width: 60px;
    56. }
    57. .right {
    58. float: right;
    59. width: 60px;
    60. }
    61. .bottom {
    62. clear: both;
    63. text-align: center;
    64. }
    65. .item {
    66. margin: 4px;
    67. }
    68. .left .el-tooltip__popper,
    69. .right .el-tooltip__popper {
    70. padding: 8px 10px;
    71. }
    72. }
    73. </style>

    主题

    Tooltip 组件提供了两个不同的主题:darklight

    Tooltip 文字提示 - 图2

    通过设置effect属性来改变主题,默认为dark

    <el-tooltip content="Top center" placement="top">
      <el-button>Dark</el-button>
    </el-tooltip>
    <el-tooltip content="Bottom center" placement="bottom" effect="light">
      <el-button>Light</el-button>
    </el-tooltip>
    

    更多 Content

    展示多行文本或者是设置文本内容的格式

    Tooltip 文字提示 - 图3

    用具名 slot 分发content,替代tooltip中的content属性。

    <el-tooltip placement="top">
      <div slot="content">多行信息<br/>第二行信息</div>
      <el-button>Top center</el-button>
    </el-tooltip>
    

    高级扩展

    除了这些基本设置外,还有一些属性可以让使用者更好的定制自己的效果:

    transition 属性可以定制显隐的动画效果,默认为fade-in-linear。如果需要关闭 tooltip 功能,disabled 属性可以满足这个需求,它接受一个Boolean,设置为true即可。

    事实上,这是基于 Vue-popper 的扩展,你可以自定义任意 Vue-popper 中允许定义的字段。当然 Tooltip 组件实际上十分强大,文末的API文档会做一一说明。

    Tooltip 文字提示 - 图4

    <template>
      <el-tooltip :disabled="disabled" content="点击关闭 tooltip 功能" placement="bottom" effect="light">
        <el-button @click="disabled = !disabled">点击{{disabled ? '开启' : '关闭'}} tooltip 功能</el-button>
      </el-tooltip>
    </template>
    <script>
      export default {
        data() {
          return {
            disabled: false
          };
        }
      };
    </script>
    

    tooltip 内不支持 router-link 组件,请使用 vm.$router.push 代替。

    tooltip 内不支持 disabled form 元素,参考MDN,请在 disabled form 元素外层添加一层包裹元素。

    Attributes

    参数说明类型可选值默认值
    effect默认提供的主题Stringdark/lightdark
    content显示的内容,也可以通过 slot#content 传入 DOMString
    placementTooltip 的出现位置Stringtop/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-endbottom
    value / v-model状态是否可见Booleanfalse
    disabledTooltip 是否可用Booleanfalse
    offset出现位置的偏移量Number0
    transition定义渐变动画Stringel-fade-in-linear
    visible-arrow是否显示 Tooltip 箭头,更多参数可见Vue-popperBooleantrue
    popper-optionspopper.js 的参数Object参考 popper.js 文档{ boundariesElement: 'body', gpuAcceleration: false }
    open-delay延迟出现,单位毫秒Number0
    manual手动控制模式,设置为 true 后,mouseenter 和 mouseleave 事件将不会生效Booleanfalse
    popper-class为 Tooltip 的 popper 添加类名String
    enterable鼠标是否可进入到 tooltip 中Booleantrue
    hide-afterTooltip 出现后自动隐藏延时,单位毫秒,为 0 则不会自动隐藏number0
    tabindexTooltip 组件的 tabindexnumber0