From: Tycho Date: Fri, 19 Jul 2024 08:52:03 +0000 (+0800) Subject: fix(runtime-dom): handle undefined values in v-html (#11403) X-Git-Tag: v3.4.33~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5df67e36756639ea7b923d1b139d6cb14450123b;p=thirdparty%2Fvuejs%2Fcore.git fix(runtime-dom): handle undefined values in v-html (#11403) --- diff --git a/packages/runtime-dom/__tests__/patchProps.spec.ts b/packages/runtime-dom/__tests__/patchProps.spec.ts index 7f418847f5..3e7de54a76 100644 --- a/packages/runtime-dom/__tests__/patchProps.spec.ts +++ b/packages/runtime-dom/__tests__/patchProps.spec.ts @@ -152,6 +152,12 @@ describe('runtime-dom: props patching', () => { expect(root.innerHTML).toBe(`
baz
`) }) + test('patch innerHTML porp w/ undefined value', async () => { + const root = document.createElement('div') + render(h('div', { innerHTML: undefined }), root) + expect(root.innerHTML).toBe(`
`) + }) + test('textContent unmount prev children', () => { const fn = vi.fn() const comp = { diff --git a/packages/runtime-dom/src/modules/props.ts b/packages/runtime-dom/src/modules/props.ts index 04f0d0e866..aaacd81972 100644 --- a/packages/runtime-dom/src/modules/props.ts +++ b/packages/runtime-dom/src/modules/props.ts @@ -15,7 +15,7 @@ export function patchDOMProp( if (key === 'innerHTML' || key === 'textContent') { // null value case is handled in renderer patchElement before patching // children - if (value === null) return + if (value == null) return el[key] = value return }