Skip to main content

Dialog

Плагін діалогу являє собою велику кількість численних можливостей для отримання конкретного рішення або списку дій. Діалог може інформувати користувача, або вимагати якихось конкретних дій для прийняття (або множинних рішень).

Підключення

Vue
<div @click="$openDialog({title: 'Greetings', html: 'Hello world!'})">Open dialog</div>

Component API

NameDescriptionType
titleНазва модального вікна.String
componentКомпонент якщо потрібен для відображення за допогою () => import(...).Boolean
componentNameГлобальне ім'я компонента.String
propsПропси до компонента.Boolean
messageТекст-декоратор нижче titleString
optionsTypeВизначає, чи вставляти в діалог компоненту чекбоксу чи радіо з опціями. Доступнв значення: radio, checkboxString
optionsМасив для обраного компоненту з опціями. Те, як правильно передавати опції можна продивитися вBoolean
promptТип діалогового вікна-підсказки. Опції: text, numberString
alertТип діалогового вікна-підсказки. З цим пропсом замість дефолтних кнопок Відмінити, Зберегти буде кнопка Ок. Цей тип діалогу доречний, коли, наприклад, потрібно вивести якесь інформаційне повідомлення/попередження користувачевіBoolean

Приклади

Базове використання

Нижче наведено базове використання плагіну: в першому прикладі та другому використано пропс html, куди можна напряму вставляти будь-який html; у першому прикладі окрім пропса html також використовужється пропс alert, який замінює дефолтні кнопки закриття та збереження на кнопку Ок. У третьому прикладі задано пропс prompt, що дозволяє нам не прописувати пропс html, нижче буде більше прикладів даного пропсу, також використовується проас message, що є текстом під назвою ділогу. Усі діалоги мають пропс title, що є назвою вспливаючого вікна.

component

Крім простої вставки html, в діалог можна задати готовий компонент (в документації приклад не вийде показати, тому що потрібен імпорт з самого проекту компоненти. Для вставки компоненту потрібно вказати імпорт (властивість component) відносно поточного проекту та ім'я компоненту (його глобальна назва - властиивість componentName). Крім цього, можна задати цьому компоненту доступні йому пропси через властивість props

Details
Vue
<template>
<VsButton class="ml-3" @click="openModal"> component </VsButton>
</template>
<script>
export default {
methods: {
openModal() {
this.$openDialog({
title: "Enter a phone number",
componentName: "VsButton",
component: () => import("@/components/form/vs-form-text.vue"),
message: "What is your phone number?",
props: { type: "tel", clearable: true },
});
},
},
};
</script>

options, optionsType

Для зручності, аби не задавати самостійно компонент, де потрібно вибрати варіант/варіанти із списку доступних опцій, можна відразу прописати пропс options. По замовчуванню будуть радіокнопки, якщо потрібно явно прописати пропс optionsType та задати йому checkbox.

prompt

Ще одним способом задання компоненту без його імпорту є пропс prompt, де наразі доступно два види задання компоненту: text та number.

cancel

cancel - пропс, що ховає хрестик у верхньому правому краї. За замовчуванням true, якщо поставити false, то хрестик пропаде.

persistent

persistent - пропс, що відповідає за закриття діалогового вікна прикліці поза його межами. Якщо встановити persistent: true, користувач не зможе закрити діалогове вікно, якщо клацне поза ним.