diff --git a/arkoala-arkts/arkui/src/PeerNode.ts b/arkoala-arkts/arkui/src/PeerNode.ts index bda48c3d30ad7694f4f39cf99755892bcece0532..e8da5c9980834e84af2c3b75731a29c1f562c1ac 100644 --- a/arkoala-arkts/arkui/src/PeerNode.ts +++ b/arkoala-arkts/arkui/src/PeerNode.ts @@ -143,21 +143,14 @@ export class PeerNode extends IncrementalNode { this.insertMark = peerPtr return } - // Find the closest peer node backward. - let sibling: PeerNode | undefined = findSiblingPeerNode(child, false) + // Find the closest peer node forward. + let sibling: PeerNode | undefined = findSiblingPeerNode(child, true) if (sibling === undefined) { - // Add child to the beginning. - this.peer.insertChildAt(peerPtr, 0) + // Add to the end (common case!). + this.peer.addChild(peerPtr) } else { - // Find the closest peer node forward. - sibling = findSiblingPeerNode(child, true) - if (sibling === undefined) { - // Add to the end (common case!). - this.peer.addChild(peerPtr) - } else { - // Insert child in the middle. - this.peer.insertChildBefore(peerPtr, sibling?.peer?.ptr ?? nullptr) - } + // Insert child in the middle. + this.peer.insertChildBefore(peerPtr, sibling?.peer?.ptr ?? nullptr) } } } diff --git a/arkoala-arkts/arkui/src/ets/PeerNode.ets b/arkoala-arkts/arkui/src/ets/PeerNode.ets index bda48c3d30ad7694f4f39cf99755892bcece0532..e8da5c9980834e84af2c3b75731a29c1f562c1ac 100644 --- a/arkoala-arkts/arkui/src/ets/PeerNode.ets +++ b/arkoala-arkts/arkui/src/ets/PeerNode.ets @@ -143,21 +143,14 @@ export class PeerNode extends IncrementalNode { this.insertMark = peerPtr return } - // Find the closest peer node backward. - let sibling: PeerNode | undefined = findSiblingPeerNode(child, false) + // Find the closest peer node forward. + let sibling: PeerNode | undefined = findSiblingPeerNode(child, true) if (sibling === undefined) { - // Add child to the beginning. - this.peer.insertChildAt(peerPtr, 0) + // Add to the end (common case!). + this.peer.addChild(peerPtr) } else { - // Find the closest peer node forward. - sibling = findSiblingPeerNode(child, true) - if (sibling === undefined) { - // Add to the end (common case!). - this.peer.addChild(peerPtr) - } else { - // Insert child in the middle. - this.peer.insertChildBefore(peerPtr, sibling?.peer?.ptr ?? nullptr) - } + // Insert child in the middle. + this.peer.insertChildBefore(peerPtr, sibling?.peer?.ptr ?? nullptr) } } }