Closed Echonessy closed 1 year ago
const loopTabItems = (tree: TreeProps[]) => { return tree .filter((v: TreeProps) => v.active) .map((v: TreeProps) => { const render = (path: string) => ( <FormRender schema={...} form={form} //不能共用一个form实例,实例会被覆盖,底层有问题 .... /> ); return { label: v.label, key: v.value, children: ( <> {render(v.schema)} {v?.children?.length ? <Tabs items={loopTabItems(v.children)} /> : null} </> ), }; }); };
.... n维tab页面,含有多个form表单模块,通过递归进行渲染,无法共用同一个实例,会被覆盖
<Tabs type="card" items={loopTabItems(treeData)} />
这个就好比是列表页面,每个按钮都需要一个局部 loading的问题,你把 FormRender 包括 useForm 那块,抽成一个组件,就会创建多个组件实例了。
您好,我是徐扬,您的邮件我已收到。
.... n维tab页面,含有多个form表单模块,通过递归进行渲染,无法共用同一个实例,会被覆盖