From 2dc698c09a32d291ea83296f2e81edf182bb6de0 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 12 Feb 2023 12:35:09 +0100 Subject: Fix double map child The rx-base was not added at the right location, and not cleaned up. --- src/rx.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/rx.ts') diff --git a/src/rx.ts b/src/rx.ts index dbdd3ad..1b41c27 100644 --- a/src/rx.ts +++ b/src/rx.ts @@ -328,8 +328,8 @@ function appendChild(state: State, element: Element, child: Child, lastAdded?: N lastAdded: appendRes.lastAdded } } else if (isRx(child)) { - const rxBase = document.createTextNode("") - element.append(rxBase) + const rxBase = document.createTextNode('') + appendNode(element, rxBase, lastAdded) let appendRes: AppendResult = { cancel: voidCancel, remove: voidRemove, @@ -345,7 +345,10 @@ function appendChild(state: State, element: Element, child: Child, lastAdded?: N appendRes.cancel() cancelRx() }, - remove: appendRes.remove, + remove: () => { + appendRes.remove() + element.removeChild(rxBase) + }, lastAdded: appendRes.lastAdded, } } else if (child === undefined || child === false) { -- cgit v1.2.3