mirror of https://github.com/ElemeFE/element
commit
0286100371
|
@ -210,3 +210,5 @@ Tooltip 组件提供了两个不同的主题:`dark`和`light`,可以通过
|
||||||
| transition | 定义渐变动画 | String | | `fade-in-linear` |
|
| transition | 定义渐变动画 | String | | `fade-in-linear` |
|
||||||
| visible-arrow | 是否显示 Tooltip 箭头,更多参数可见[Vue-popper](https://github.com/element-component/vue-popper) | Boolean | | true |
|
| visible-arrow | 是否显示 Tooltip 箭头,更多参数可见[Vue-popper](https://github.com/element-component/vue-popper) | Boolean | | true |
|
||||||
| options | [popper.js](https://popper.js.org/documentation.html) 的参数 | Object | 参考 [popper.js](https://popper.js.org/documentation.html) 文档 | `{ boundariesElement: 'body', gpuAcceleration: false }` |
|
| options | [popper.js](https://popper.js.org/documentation.html) 的参数 | Object | 参考 [popper.js](https://popper.js.org/documentation.html) 文档 | `{ boundariesElement: 'body', gpuAcceleration: false }` |
|
||||||
|
| openDelay | 延迟出现,单位毫秒 | Number | | 0 |
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="el-tooltip"
|
class="el-tooltip"
|
||||||
@mouseenter="showPopper = true"
|
@mouseenter="handleShowPopper"
|
||||||
@mouseleave="showPopper = false">
|
@mouseleave="handleClosePopper">
|
||||||
<div class="el-tooltip__rel" ref="reference">
|
<div class="el-tooltip__rel" ref="reference">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
|
@ -28,6 +28,10 @@ export default {
|
||||||
mixins: [Popper],
|
mixins: [Popper],
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
|
openDelay: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
disabled: Boolean,
|
disabled: Boolean,
|
||||||
effect: {
|
effect: {
|
||||||
type: String,
|
type: String,
|
||||||
|
@ -49,6 +53,19 @@ export default {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
handleShowPopper() {
|
||||||
|
this.timeout = setTimeout(() => {
|
||||||
|
this.showPopper = true;
|
||||||
|
}, this.openDelay);
|
||||||
|
},
|
||||||
|
|
||||||
|
handleClosePopper() {
|
||||||
|
clearTimeout(this.timeout);
|
||||||
|
this.showPopper = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -7,6 +7,7 @@ import DropdownItem from '../packages/dropdown-item/index.js';
|
||||||
import Menu from '../packages/menu/index.js';
|
import Menu from '../packages/menu/index.js';
|
||||||
import Submenu from '../packages/submenu/index.js';
|
import Submenu from '../packages/submenu/index.js';
|
||||||
import MenuItem from '../packages/menu-item/index.js';
|
import MenuItem from '../packages/menu-item/index.js';
|
||||||
|
import MenuItemGroup from '../packages/menu-item-group/index.js';
|
||||||
import Input from '../packages/input/index.js';
|
import Input from '../packages/input/index.js';
|
||||||
import InputNumber from '../packages/input-number/index.js';
|
import InputNumber from '../packages/input-number/index.js';
|
||||||
import Radio from '../packages/radio/index.js';
|
import Radio from '../packages/radio/index.js';
|
||||||
|
@ -65,6 +66,7 @@ const install = function(Vue) {
|
||||||
Vue.component(Menu.name, Menu);
|
Vue.component(Menu.name, Menu);
|
||||||
Vue.component(Submenu.name, Submenu);
|
Vue.component(Submenu.name, Submenu);
|
||||||
Vue.component(MenuItem.name, MenuItem);
|
Vue.component(MenuItem.name, MenuItem);
|
||||||
|
Vue.component(MenuItemGroup.name, MenuItemGroup);
|
||||||
Vue.component(Input.name, Input);
|
Vue.component(Input.name, Input);
|
||||||
Vue.component(InputNumber.name, InputNumber);
|
Vue.component(InputNumber.name, InputNumber);
|
||||||
Vue.component(Radio.name, Radio);
|
Vue.component(Radio.name, Radio);
|
||||||
|
@ -134,6 +136,7 @@ module.exports = {
|
||||||
Menu,
|
Menu,
|
||||||
Submenu,
|
Submenu,
|
||||||
MenuItem,
|
MenuItem,
|
||||||
|
MenuItemGroup,
|
||||||
Input,
|
Input,
|
||||||
InputNumber,
|
InputNumber,
|
||||||
Radio,
|
Radio,
|
||||||
|
|
Loading…
Reference in New Issue