Tooltip 组件
常用于展示鼠标 hover 时的提示信息。
基础用法
使用 content 属性来决定 hover 时的提示信息。 由 placement 属性决定展示效果: placement 属性值为:[方向]-[对齐位置];四个方向:top、left、right、bottom;三种对齐位置:start, end,默认为空。 如 placement="left-end",则提示信息出现在目标元素的左侧,且提示信息的底部与目标元素的底部对齐。
<template>
<Tooltip content="top content" placement="top" trigger="hover">
<VButton plain>top</VButton>
</Tooltip>
<Tooltip content="left content" placement="left" trigger="hover">
<VButton plain>left</VButton>
</Tooltip>
<Tooltip content="right content" placement="right" trigger="hover">
<VButton plain>right</VButton>
</Tooltip>
<Tooltip content="bottom content" placement="bottom" trigger="hover">
<VButton plain>bottom</VButton>
</Tooltip>
<Tooltip content="click content" placement="bottom" trigger="click">
<VButton plain>click</VButton>
</Tooltip>
</template>
<script setup lang="ts">
import Tooltip from '@/components/Tooltip/Tooltip.vue';
import VButton from '@/components/Button/VButton.vue';
</script>
<style scoped></style><template>
<Tooltip content="top content" placement="top" trigger="hover">
<VButton plain>top</VButton>
</Tooltip>
<Tooltip content="left content" placement="left" trigger="hover">
<VButton plain>left</VButton>
</Tooltip>
<Tooltip content="right content" placement="right" trigger="hover">
<VButton plain>right</VButton>
</Tooltip>
<Tooltip content="bottom content" placement="bottom" trigger="hover">
<VButton plain>bottom</VButton>
</Tooltip>
<Tooltip content="click content" placement="bottom" trigger="click">
<VButton plain>click</VButton>
</Tooltip>
</template>
<script setup lang="ts">
import Tooltip from '@/components/Tooltip/Tooltip.vue';
import VButton from '@/components/Button/VButton.vue';
</script>
<style scoped></style><template>
<div>
<Tooltip ref="tooltipRef" content="top content" placement="top" trigger="hover" manual>
<div :style="{ width: '100px', height: '100px', backgroundColor: '#ccc' }"></div>
</Tooltip>
</div>
<VButton plain @click="() => tooltipRef.show()">点击打开</VButton>
<VButton plain @click="() => tooltipRef.hide()">点击关闭</VButton>
</template>
<script setup lang="ts">
import Tooltip from '@/components/Tooltip/Tooltip.vue';
import { TooltipInstance } from '@/components/Tooltip/types';
import VButton from '@/components/Button/VButton.vue';
import { ref } from 'vue';
const tooltipRef = ref<TooltipInstance>();
</script>
<style scoped></style><template>
<div>
<Tooltip ref="tooltipRef" content="top content" placement="top" trigger="hover" manual>
<div :style="{ width: '100px', height: '100px', backgroundColor: '#ccc' }"></div>
</Tooltip>
</div>
<VButton plain @click="() => tooltipRef.show()">点击打开</VButton>
<VButton plain @click="() => tooltipRef.hide()">点击关闭</VButton>
</template>
<script setup lang="ts">
import Tooltip from '@/components/Tooltip/Tooltip.vue';
import { TooltipInstance } from '@/components/Tooltip/types';
import VButton from '@/components/Button/VButton.vue';
import { ref } from 'vue';
const tooltipRef = ref<TooltipInstance>();
</script>
<style scoped></style>Tooltip Attributes
| Name | Description | Type | Default |
|---|---|---|---|
| content | 提示框内容 | string | - |
| trigger | 提示框触发方式 | hover / click | hover |
| placement | 提示框显示位置 | top-start / top-end / bottom-start / bottom-end / right-start / right-end / left-start / left-end | bottom-end |
| manual | 是否手动控制提示框的显示与隐藏 | boolean | false |
| openDelay | 打开提示框的延迟时间 | number | 0 |
| closeDelay | 关闭提示框的延迟时间 | number | 0 |
Tooltip Slots
| 插槽名 | 说明 |
|---|---|
| default | Tooltip 触发 & 引用的元素 |
| content | 自定义内容 |
Tooltip Exposes
| 属性名 | 说明 | 类型 |
|---|---|---|
| show | 显示提示框 | Function |
| hide | 隐藏提示框 | Function |