From d0e750fe594da004a6492562aab3d697d117dd6f Mon Sep 17 00:00:00 2001 From: Hayleigh Thompson Date: Sun, 31 Mar 2024 21:20:48 +0100 Subject: :bug: Fixed a bug where child nodes were incorrectly morphed for disjoint parents. --- src/vdom.ffi.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vdom.ffi.mjs b/src/vdom.ffi.mjs index 2515eb4..1c150ef 100644 --- a/src/vdom.ffi.mjs +++ b/src/vdom.ffi.mjs @@ -268,7 +268,7 @@ function createElementNode({ prev, next, dispatch, stack }) { // that all attributes should be set as properties too. else { el.setAttribute(name, value); - if (name in el) el[name] = value; + if (name === "value") el[name] = value; // If we're morphing an element we remove this attribute's name from the set // of attributes that were on the previous render so we don't remove it in // the next step. @@ -312,7 +312,7 @@ function createElementNode({ prev, next, dispatch, stack }) { return el; } - let prevChild = prev?.firstChild; + let prevChild = el.firstChild; // These variables are set up for keyed children diffs. When children are keyed // we can effeciently reuse DOM nodes even if they've moved around in the list. let seenKeys = null; -- cgit v1.2.3