diff --git a/packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts b/packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts new file mode 100644 index 000000000..97a54ed36 --- /dev/null +++ b/packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts @@ -0,0 +1,13 @@ +import { isElement } from '@ali/lowcode-utils'; +import findDOMNode from 'rax-find-dom-node'; +// import { isDOMNode } from './is-dom-node'; + +export function raxFindDOMNodes(instance: any): Array | null { + if (!instance) { + return null; + } + if (isElement(instance)) { + return [instance]; + } + return findDOMNode(instance); +} diff --git a/packages/rax-simulator-renderer/src/utils/is-dom-node.ts b/packages/rax-simulator-renderer/src/utils/is-dom-node.ts new file mode 100644 index 000000000..bfbeb79c1 --- /dev/null +++ b/packages/rax-simulator-renderer/src/utils/is-dom-node.ts @@ -0,0 +1,4 @@ +export function isDOMNode(node: any): node is Element | Text { + if (!node) return false; + return node.nodeType && (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE); +}