localhost-front/src/components/modal/CenterModal.vue
2025-02-27 11:06:47 +09:00

52 lines
1.2 KiB
Vue

<template>
<div @click="closeModal" class="modal fade scrollbar-none" :class="{ 'show': display , 'd-block': display , 'bg-dark bg-opacity-50' : display }" id="modalCenter" tabindex="-1" aria-modal="true" role="dialog">
<div @click.stop class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title m-auto fw-bold" id="modalCenterTitle">
<slot name="title">Modal Title</slot>
</h5>
</div>
<div class="modal-body">
<slot name="body">Modal body</slot>
</div>
<div class="modal-footer">
<slot name="footer">Modal foot</slot>
</div>
</div>
</div>
</div>
</template>
<script setup>
const prop = defineProps({
display : {
type: Boolean,
default: false,
required: true,
},
create: {
type: Boolean,
default: false,
}
});
const emit = defineEmits(['close' , 'reset']);
const closeModal = () => {
if (prop.create) {
emit('reset');
}
emit('close', false);
};
</script>