diff --git a/packages/rax-simulator-renderer/src/renderer.ts b/packages/rax-simulator-renderer/src/renderer.ts index be68ca9ca..d012dc4d9 100644 --- a/packages/rax-simulator-renderer/src/renderer.ts +++ b/packages/rax-simulator-renderer/src/renderer.ts @@ -188,8 +188,23 @@ export class SimulatorRenderer implements BuiltinSimulatorRenderer { cursor.release(); } - findDOMNodes(instance: any): Array | null { - return [raxFindDOMNodes(instance)]; + findDOMNodes(instance: any, selector?: string): Array | null { + let el = instance; + if (selector) { + el = document.querySelector(selector); + } + try { + return raxFindDOMNodes(el); + } catch (e) { + // ignore + } + if (el && el.type && el.props && el.props.componentId) { + el = document.querySelector(`${el.type}[componentid=${el.props.componentId}]`); + } else { + console.error(instance); + throw new Error('This instance may not a valid element'); + } + return raxFindDOMNodes(el); } /**