Tooltip 浮层提示
示例
风格
可选的风格 ui
属性值:alt
。
<template>
<article>
<section>
<veui-checkbox
v-model="ui"
true-value="alt"
:false-value="null"
ui="small"
>
Alternative style
</veui-checkbox>
</section>
<section>
<span ref="text">Move your mouse pointer over here.</span>
<veui-tooltip
target="text"
:ui="ui"
>
This is a tooltip.
</veui-tooltip>
</section>
</article>
</template>
<script>
import { Tooltip, Checkbox } from 'veui'
export default {
components: {
'veui-tooltip': Tooltip,
'veui-checkbox': Checkbox
},
data () {
return {
ui: null
}
}
}
</script>
定位
使用 position
属性来指定浮层显示的位置。
top-start
top
top-end
left-start
right-start
left
right
left-end
right-end
bottom-start
bottom
bottom-end
<template>
<article>
<veui-grid-container :columns="5">
<veui-grid-row>
<veui-grid-column
:span="1"
:offset="1"
>
<span
ref="ts"
class="target"
>top-start</span>
<veui-tooltip
target="ts"
position="top-start"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column :span="1">
<span
ref="t"
class="target"
>top</span>
<veui-tooltip
target="t"
position="top"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column :span="1">
<span
ref="te"
class="target"
>top-end</span>
<veui-tooltip
target="te"
position="top-end"
>
Hello.
</veui-tooltip>
</veui-grid-column>
</veui-grid-row>
<veui-grid-row>
<veui-grid-column :span="1">
<span
ref="ls"
class="target"
>left-start</span>
<veui-tooltip
target="ls"
position="left-start"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column
:span="1"
:offset="3"
>
<span
ref="rs"
class="target"
>right-start</span>
<veui-tooltip
target="rs"
position="right-start"
>
Hello.
</veui-tooltip>
</veui-grid-column>
</veui-grid-row>
<veui-grid-row>
<veui-grid-column :span="1">
<span
ref="l"
class="target"
>left</span>
<veui-tooltip
target="l"
position="left"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column
:span="1"
:offset="3"
>
<span
ref="r"
class="target"
>right</span>
<veui-tooltip
target="r"
position="right"
>
Hello.
</veui-tooltip>
</veui-grid-column>
</veui-grid-row>
<veui-grid-row>
<veui-grid-column :span="1">
<span
ref="le"
class="target"
>left-end</span>
<veui-tooltip
target="le"
position="left-end"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column
:span="1"
:offset="3"
>
<span
ref="re"
class="target"
>right-end</span>
<veui-tooltip
target="re"
position="right-end"
>
Hello.
</veui-tooltip>
</veui-grid-column>
</veui-grid-row>
<veui-grid-row>
<veui-grid-column
:span="1"
:offset="1"
>
<span
ref="bs"
class="target"
>bottom-start</span>
<veui-tooltip
target="bs"
position="bottom-start"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column :span="1">
<span
ref="b"
class="target"
>bottom</span>
<veui-tooltip
target="b"
position="bottom"
>
Hello.
</veui-tooltip>
</veui-grid-column>
<veui-grid-column :span="1">
<span
ref="be"
class="target"
>bottom-end</span>
<veui-tooltip
target="be"
position="bottom-end"
>
Hello.
</veui-tooltip>
</veui-grid-column>
</veui-grid-row>
</veui-grid-container>
</article>
</template>
<script>
import { GridContainer, GridRow, GridColumn, Tooltip } from 'veui'
export default {
components: {
'veui-grid-container': GridContainer,
'veui-grid-row': GridRow,
'veui-grid-column': GridColumn,
'veui-tooltip': Tooltip
},
data () {
return {
ui: null
}
}
}
</script>
触发时机
使用 trigger
属性来指定显示/隐藏浮层的时机。
trigger="hover"
hover
over here.<template>
<article>
<section>
<code>trigger="{{ trigger }}"</code>
</section>
<section>
Open trigger: <veui-select
v-model="open"
:options="triggers"
/>
</section>
<section>
Close trigger: <veui-select
v-model="close"
:options="triggers"
/>
</section>
<section>
<span
ref="text"
tabindex="0"
>Trigger <b><code>{{ open }}</code></b> over here.</span>
<veui-tooltip
target="text"
:trigger="trigger"
>
This is a tooltip.
</veui-tooltip>
</section>
</article>
</template>
<script>
import { Tooltip, Select } from 'veui'
export default {
components: {
'veui-tooltip': Tooltip,
'veui-select': Select
},
data () {
return {
open: 'hover',
close: 'hover',
triggers: [
{ label: 'hover', value: 'hover' },
{ label: 'click', value: 'click' },
{ label: 'mousedown', value: 'mousedown' },
{ label: 'mouseup', value: 'mouseup' },
{ label: 'focus', value: 'focus' }
]
}
},
computed: {
trigger () {
if (this.open === this.close) {
return this.open
}
return `${this.open}-${this.close}`
}
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ui | string | - | 预设样式。
| ||||||||
open | boolean | false |
是否显示浮层提示。 | ||||||||
target | string|Vue|Node | - | 参考 Overlay 组件的 target 属性。定位方式优先使用 position 属性进行指定。 | ||||||||
position | string | 'top' | 指定定位参数。使用 Popper.js 风格的定位语法指定,可参考 | ||||||||
trigger | string | 'hover' | 触发浮层提示的方式。支持指定的值为 例如: | ||||||||
interactive | boolean | true | 浮层内容是否允许交互。如果为 false 则在 target 外满足 trigger 指定的条件浮层即自动关闭。 | ||||||||
hide-delay | number | tooltip.hideDelays | 触发关闭条件满足后延迟关闭等待时间的毫秒数。可以用来防止光标移出 target 后移入浮层进行交互前已经自动关闭。 | ||||||||
overlay-class | string|Array|Object | - | 参考 Overlay 组件的 overlay-class 属性。 |
插槽
名称 | 描述 |
---|---|
default | 浮层提示内容。 |
全局配置
配置项 | 类型 | 默认值 | 描述 |
---|---|---|---|
tooltip.hideDelay | number | 300 | 见 hide-delay 属性。 |