]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
workflow(sfc-playground): make warnings dismissable
authorEvan You <yyx990803@gmail.com>
Mon, 29 Mar 2021 20:06:14 +0000 (16:06 -0400)
committerEvan You <yyx990803@gmail.com>
Mon, 29 Mar 2021 20:11:38 +0000 (16:11 -0400)
packages/sfc-playground/src/Message.vue

index 7cc23995554ebe20118099a13ec2a0ca8c24c50f..828f6b2cd32c87b4a8b560e265d67f06d1285143 100644 (file)
@@ -1,16 +1,23 @@
 <template>
   <Transition name="fade">
-    <pre v-if="err || warn"
+    <pre v-if="!dismissed && (err || warn)"
       class="msg"
-      :class="err ? 'err' : 'warn'">{{ formatMessage(err || warn) }}</pre>
+      :class="err ? 'err' : 'warn'"
+      @click="dismissed = true">{{ formatMessage(err || warn) }}</pre>
   </Transition>
 </template>
 
 <script setup lang="ts">
-import { defineProps } from 'vue'
+import { defineProps, ref, watch } from 'vue'
 import type { CompilerError } from '@vue/compiler-sfc'
 
-defineProps(['err', 'warn'])
+const props = defineProps(['err', 'warn'])
+
+const dismissed = ref(false)
+
+watch(() => [props.err, props.warn], () => {
+  dismissed.value = false
+})
 
 function formatMessage(err: string | Error): string {
   if (typeof err === 'string') {