alibaba / x-render

🚴‍♀️ 阿里 - 很易用的中后台「表单 / 表格 / 图表」解决方案
https://xrender.fun
7.07k stars 1.01k forks source link

如何自行控制渲染 schema ? #1136

Closed StringKe closed 1 year ago

StringKe commented 1 year ago

期望的新功能 (describe the expected new feature)

提供 Field 自己传入 scheme 相关属性

简述一下使用场景,便于开发者更好理解新功能的必要性 (describe your scenario for us to understand the need)

https://react.formilyjs.org/api/components/schema-field

类似这样的功能,我目前需要自己来掌控布局,组件渲染,由 x-render 来多层级组件中的 输入组件(可控组件)的渲染

StringKe commented 1 year ago

也许可以吧 FieldItem 和 FieldItem 默认包裹一下 RenderCore 然后导出一下?

lhbxs commented 1 year ago

不知道你真的意图是什么,这样搞会不会越搞越复杂

StringKe commented 1 year ago

因为我需要通过低代码去设计表单,类似 formily designable 那样的做法

export function Test() {
  return (
    <FormProvider>
      <Grid>
        <Field name={'input'} />
        <Table>
          <Tr>
            <Td>
              <Field />
            </Td>
          </Tr>
        </Table>
      </Grid>
    </FormProvider>
  );
}

可以在表单内实现任意布局/内容的方式来组装表单

lhbxs commented 1 year ago

目前好像无法满足这样的需求,如果是这种 ''。可能 FormCore 的上下文就被破坏了。

lhbxs commented 1 year ago

<Field schema={} />

StringKe commented 1 year ago

我看了下代码,FieldItem 不本身也是调度 Context 么?,直接对外暴露 RenderCore 应该可行吧