Getting Started
Vue-popper-js is complete popper solution powered by @popperjs.
Features
- Fully customizable popover with hook function
- (Vue 3 only) Popper component, with built-in support for Component, Teleport, and Transition
Installation
Hook only
For vue@2 + @vue/composition-api
$ yarn add vue-use-popperjs@^1 @vue/composition-api
For vue@3:
$ yarn add vue-use-popperjs@^1
Hook + Component
For vue@3:
$ yarn add vue-use-popperjs
# $ yarn add vue-use-popperjs@^2
WARNING
vue-use-popperjs@^2 only works with vue@3.
Usage
Hook
<template>
<button ref="button">Hover me!</button>
<span ref="tooltip">Tooltip</span>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
import { usePopperjs } from "vue-use-popperjs";
export default defineComponent({
setup() {
const button = ref();
const tooltip = ref();
usePopperjs(button, tooltip);
return { button, tooltip };
},
});
</script>
<style scoped>
.vue-use-popperjs-none {
display: none;
}
</style>
TIP
Vue-use-popperjs automatically add .vue-use-popperjs-none
class to popper when it is hidden, you can add following css to hide poppers:
.vue-use-popperjs-none {
display: none;
}
Component
<template>
<Popper reference-is="button" popper-is="span">
<template #reference>Hover me!</template>
Tooltip
</Popper>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import { Popper } from "vue-use-popperjs";
export default defineComponent({
components: {
Popper,
},
});
</script>