Răsfoiți Sursa

chore: improve event value validation message

Evan You 2 ani în urmă
părinte
comite
f26d56601c

+ 2 - 3
packages/runtime-dom/__tests__/patchEvents.spec.ts

@@ -198,9 +198,8 @@ describe(`runtime-dom: events patching`, () => {
     patchProp(el, 'onClick', null, 'test')
     el.dispatchEvent(new Event('click'))
     expect(
-      '[Vue warn]: Wrong type passed to the event invoker, ' +
-        'did you maybe forget @ or : in front of your prop?' +
-        '\nReceived onClick="test"',
+      `Wrong type passed as event handler to onClick - did you forget @ or : ` +
+        `in front of your prop?\nExpected function or array of functions, received type string.`,
     ).toHaveBeenWarned()
   })
 })

+ 3 - 4
packages/runtime-dom/src/modules/events.ts

@@ -1,4 +1,4 @@
-import { NOOP, hyphenate, isArray, isFunction, isString } from '@vue/shared'
+import { NOOP, hyphenate, isArray, isFunction } from '@vue/shared'
 import {
   type ComponentInternalInstance,
   ErrorCodes,
@@ -129,9 +129,8 @@ function sanitizeEventValue(value: unknown, propName: string): EventValue {
     return value as EventValue
   }
   warn(
-    `Wrong type passed to the event invoker, did you maybe forget @ or : ` +
-      `in front of your prop?\nReceived ` +
-      `${propName}=${isString(value) ? JSON.stringify(value) : `[${typeof value}]`}`,
+    `Wrong type passed as event handler to ${propName} - did you forget @ or : ` +
+      `in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`,
   )
   return NOOP
 }