28 lines
452 B
Vue
28 lines
452 B
Vue
<script setup lang="ts">
|
|
import { onMounted, onUpdated, watch } from 'vue';
|
|
|
|
const props = defineProps<{
|
|
hasError: boolean
|
|
}>();
|
|
|
|
const emit = defineEmits<{
|
|
(e: 'update:error', value: boolean): void
|
|
}>();
|
|
|
|
onMounted(() => {
|
|
emit('update:error', props.hasError);
|
|
});
|
|
|
|
onUpdated(() => {
|
|
emit('update:error', props.hasError);
|
|
});
|
|
|
|
watch(() => props.hasError, (val) => {
|
|
emit('update:error', val);
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<slot/>
|
|
</template>
|