diff --git a/packages/runtime-core/__tests__/component.spec.ts b/packages/runtime-core/__tests__/component.spec.ts index 4fd8707b..dad6f8ca 100644 --- a/packages/runtime-core/__tests__/component.spec.ts +++ b/packages/runtime-core/__tests__/component.spec.ts @@ -6,11 +6,8 @@ import { nextTick, defineComponent } from '@vue/runtime-test' -import { mockWarn } from '@vue/shared' describe('renderer: component', () => { - mockWarn() - test.todo('should work') test.todo('shouldUpdateComponent') @@ -43,7 +40,6 @@ describe('renderer: component', () => { expect(b1).toBe(true) expect(b2).toBe(true) expect(b3).toBe('') - expect('type check failed for prop "b1"').toHaveBeenWarned() }) }) diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index c2cbb473..c243d517 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -156,7 +156,6 @@ export function resolveProps( const key = needCastKeys[i] let opt = options[key] if (opt == null) continue - const isAbsent = !hasOwn(props, key) const hasDefault = hasOwn(opt, 'default') const currentValue = props[key] // default values @@ -166,7 +165,7 @@ export function resolveProps( } // boolean casting if (opt[BooleanFlags.shouldCast]) { - if (isAbsent && !hasDefault) { + if (!hasOwn(props, key) && !hasDefault) { setProp(key, false) } else if ( opt[BooleanFlags.shouldCastTrue] && @@ -181,13 +180,7 @@ export function resolveProps( for (const key in options) { let opt = options[key] if (opt == null) continue - let rawValue - if (!(key in rawProps) && hyphenate(key) in rawProps) { - rawValue = rawProps[hyphenate(key)] - } else { - rawValue = rawProps[key] - } - validateProp(key, toRaw(rawValue), opt, !hasOwn(props, key)) + validateProp(key, props[key], opt, !hasOwn(props, key)) } } } else {