Vue.js - это простой в использовании фреймворк для веб-приложений, который мы можем использовать для разработки интерактивных интерфейсных приложений.
В этой статье мы рассмотрим некоторые простые в использовании компоненты всплывающей подсказки Vue.js, которые мы все можем использовать в наших приложениях Vue.
v-подсказка
v-tooltip
- это простая в использовании всплывающая подсказка с множеством опций, позволяющих сделать всплывающую подсказку так, как нам нравится.
Для его установки запускаем:
npm install --save v-tooltip
Затем мы можем использовать его, написав следующий код:
main.js
:
import Vue from "vue"; import App from "./App.vue"; import VTooltip from "v-tooltip"; Vue.use(VTooltip); Vue.config.productionTip = false; new Vue({ render: h => h(App) }).$mount("#app");
App.vue
:
<template> <div id="app"> <button v-tooltip="'Hello'">Show Tooltip</button> </div> </template> <script> export default { name: "App" }; </script>
Все, что нам нужно было сделать, это импортировать и зарегистрировать компонент, после чего мы можем ссылаться на него в нашем шаблоне.
Когда мы наводим курсор на кнопку, мы должны увидеть Hello
.
Мы также можем использовать v-popover
с нашим собственным компонентом для всплывающей подсказки. Например, мы можем написать следующее:
App.vue
:
<template> <div id="app"> <v-popover> <button v-tooltip="'Hello'">Show Tooltip</button> <Tooltip slot="popover"/> </v-popover> </div> </template> <script> import Tooltip from "@/components/Tooltip"; export default { name: "App", components: { Tooltip } }; </script>
components/Tooltip.vue
:
<template> <div class="hello">Hello</div> </template> <script> export default { name: "Tooltip" }; </script>
Мы просто помещаем наш пользовательский компонент Tooltip
внутрь компонента v-popover
.
Кроме того, мы можем указать объект в качестве значения директивы v-tooltip
следующим образом:
App.vue
:
<template> <div id="app"> <button v-tooltip="{ content: 'Hello.', classes: ['a', 'b'] }">Show Tooltip</button> </div> </template> <script> export default { name: "App", }; </script> <style> .a { color: white; } .b { background-color: black; } </style>
Затем мы должны увидеть всплывающую подсказку с белым текстом и черным фоном.
У него также есть много других вариантов, как показано на https://github.com/Akryum/v-tooltip#style-examples.
vue-директива-подсказка
vue-directive-tooltip
- более простая всплывающая подсказка с меньшим количеством параметров. Он поставляется со стилями для создания всплывающей подсказки в качестве стиля по умолчанию.
Для его установки запускаем:
npm install vue-directive-tooltip --save
Тогда мы можем использовать его следующим образом:
main.js
:
import Vue from "vue"; import App from "./App.vue"; import Tooltip from "vue-directive-tooltip"; import "vue-directive-tooltip/dist/vueDirectiveTooltip.css"; Vue.use(Tooltip); Vue.config.productionTip = false; new Vue({ render: h => h(App) }).$mount("#app");
App.vue
:
<template> <div id="app"> <span v-tooltip="'Hello'">Tooltip</span> </div> </template> <script> export default { name: "App" }; </script>
Приведенный выше код создает всплывающую подсказку с директивой v-tooltip
. Мы передаем в него строку как содержимое всплывающей подсказки.
У него есть несколько вариантов, включая position
, delay
, offset
и модификаторы событий.
Мы можем изменить расположение всплывающей подсказки, применив следующий модификатор:
<template> <div id="app"> <span v-tooltip.right="'Hello'">Tooltip</span> </div> </template> <script> export default { name: "App" }; </script>
Теперь всплывающая подсказка отображается справа вместо автоматического позиционирования.
delay
можно передать как свойство объекта, который мы передаем в директиву v-tooltip
. Например, мы можем отложить исчезновение всплывающей подсказки на секунду, написав:
<template> <div id="app"> <span v-tooltip.right="{content:'hello', delay: 1000}">Tooltip</span> </div> </template> <script> export default { name: "App" }; </script>
offset
можно передать так же, как delay
. Он перемещает всплывающую подсказку на количество пикселей, которое мы установили.
Мы можем отобразить всплывающую подсказку, щелкнув, наведя указатель мыши или сфокусировавшись. Например, мы можем написать:
<template> <div id="app"> <span v-tooltip.click="'hello'">Tooltip</span> </div> </template> <script> export default { name: "App" }; </script>
Приведенный выше код запускает отображение всплывающей подсказки при нажатии, добавляя модификатор click
.
Заключение
Мы можем использовать v-tooltip
и vue-directive-tooltip
для создания всплывающих подсказок, которые соответствуют нашим потребностям. Оба они позволяют создать обширный стиль. Кроме того, мы можем изменить поведение с помощью нескольких опций для каждой библиотеки.