/
Codename-Nik
/
WebApp
Обзор
Документация
Войти
/
Codename-Nik
/
WebApp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
frontend/src/components/ConfirmDialog.vue
76 строк
2 KB
Nikolay Pokhodnya
first commit
03 ноя 2025, 19:47
03 ноя 2025, 19:47
a9fbdee
Код
Авторство
О чём код?
<template> <v-dialog :model-value="modelValue" :max-width="maxWidth" persistent @update:model-value="$emit('update:modelValue', $event)" > <v-card> <v-card-title class="d-flex align-center"> <v-icon :icon="icon" :color="color" class="mr-3"></v-icon> {{ title }} </v-card-title> <v-card-text class="text-body-1"> {{ message }} </v-card-text> <v-card-actions> <v-spacer></v-spacer> <v-btn variant="text" @click="handleCancel" > Отмена </v-btn> <v-btn :color="color" variant="flat" @click="handleConfirm" :loading="loading" > {{ confirmText }} </v-btn> </v-card-actions> </v-card> </v-dialog> </template> <script setup lang="ts"> interface Props { modelValue: boolean title: string message: string confirmText?: string icon?: string color?: string maxWidth?: number loading?: boolean } interface Emits { (e: 'update:modelValue', value: boolean): void (e: 'confirm'): void (e: 'cancel'): void } const props = withDefaults(defineProps<Props>(), { confirmText: 'Подтвердить', icon: 'mdi-alert-circle', color: 'primary', maxWidth: 400, loading: false }) const emit = defineEmits<Emits>() const handleConfirm = () => { emit('confirm') emit('update:modelValue', false) } const handleCancel = () => { emit('cancel') emit('update:modelValue', false) } </script>