diff --git a/src/modules/style.ts b/src/modules/style.ts index 763d4be..c8c5b62 100755 --- a/src/modules/style.ts +++ b/src/modules/style.ts @@ -65,8 +65,27 @@ function applyDestroyStyle(vnode: VNode): void { function applyRemoveStyle(vnode: VNode, rm: () => void): void { var s = (vnode.data as VNodeData).style; if (!s || !s.remove) { - rm(); - return; + if (vnode.children) { + let itemsProcessed = 0; + vnode.children.forEach(node => { + if (node === null) { + itemsProcessed++; + if (itemsProcessed === vnode.children.length) { + rm(); + } + return; + } + applyRemoveStyle(node, () => { + itemsProcessed++; + if (itemsProcessed === vnode.children.length) { + rm(); + } + }); + }); + } else { + rm(); + } + return; } if(!reflowForced) { getComputedStyle(document.body).transform;