Quellcode durchsuchen

workflow(sfc-playground): make warnings dismissable

Evan You vor 5 Jahren
Ursprung
Commit
4d9f9fdf9d
1 geänderte Dateien mit 11 neuen und 4 gelöschten Zeilen
  1. 11 4
      packages/sfc-playground/src/Message.vue

+ 11 - 4
packages/sfc-playground/src/Message.vue

@@ -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') {