Consider having 2 easyblock components: MyForm and MyInput. Suppose form component has to focus a child input when the button inside of the form is clicked.
This is commonly achieved through usage of useRef/forwardRef.
const MyForm = ({ MyInput, ...props }: NoCodeComponentProps) => {
const inputRef = useRef<HTMLInputElement>(null);
return (
<form>
<MyInput.type {...MyInput.props} ref={inputRef}>
{props.label}
</MyInput.type>
<Button onClick={() => inputRef.current?.focus()}>Focus</Button>
</form>
);
};
However MyInput.type acrually refers to an internal easyblocks wrapper component ComponentBuilder which does not pass ref down the tree to the actual input component resolved in runtime.
See PR #81
Consider having 2 easyblock components:
MyFormandMyInput. Suppose form component has to focus a child input when the button inside of the form is clicked.This is commonly achieved through usage of
useRef/forwardRef.However
MyInput.typeacrually refers to an internal easyblocks wrapper componentComponentBuilderwhich does not pass ref down the tree to the actual input component resolved in runtime.See PR #81