Skip to content

Commit 5725222

Browse files
authored
fix(runtime-core): preserve nullish event handlers in mergeProps (#14550)
1 parent bd7eef0 commit 5725222

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

packages/runtime-core/__tests__/vnode.spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,11 @@ describe('vnode', () => {
472472
expect(mergeProps(props1, props3)).toMatchObject({
473473
onClick: clickHandler1,
474474
})
475+
const props4: Data = { onClick: undefined }
476+
expect(mergeProps(props4)).toHaveProperty('onClick', undefined)
477+
expect(mergeProps({ onClick: null })).toMatchObject({
478+
onClick: null,
479+
})
475480
})
476481

477482
test('default', () => {

packages/runtime-core/src/vnode.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,6 +891,8 @@ export function mergeProps(...args: (Data & VNodeProps)[]): Data {
891891
ret[key] = existing
892892
? [].concat(existing as any, incoming as any)
893893
: incoming
894+
} else if (incoming == null && existing == null) {
895+
ret[key] = incoming
894896
}
895897
} else if (key !== '') {
896898
ret[key] = toMerge[key]

0 commit comments

Comments
 (0)