Closed wangxinyu666666 closed 1 year ago
报的什么错
报的什么错
没有报错,就是没有渲染出来表单
本地环境下也没有报错么
本地环境下也没有报错么
没有报错,用的2.1.13-beta.2这个版本
你的 schema 贴出来看看
然后新老对比,截图看看
然后新老对比,截图看看
schema={ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Feeds 策略配置", "type": "object", "widget": "StrategyEditor", "readOnlyWidget": "StrategyEditor", "props": {} } 新版本:
旧版本:
把 type 改成 any 试试
把 type 改成 any 试试 右侧还是渲染不出来
你这个 左侧的 schema 是最顶层的 schema 吗?
你这个 左侧的 schema 是最顶层的 schema 吗?
是的
截图看下
截图看下 的传参
是哪里的传参?
感觉哪里不对,标准 schema 格式 不应该是下面这样的吗?
{ type: 'object', properties: { "xxx": { title: '策略配置', type: 'any', ..... } };
感觉哪里不对,标准 schema 格式 不应该是下面这样的吗?
{ type: 'object', properties: { "xxx": { title: '策略配置', type: 'any', .....
},
};
我理解你说的标准模式,但是我上面的schema是想在根节点就渲染自定义组件,而且在1.14.14版本是可以正常渲染的,然后在新版本就渲染不出来。
你按照我说的套一层试试,看看
你按照我说的套一层试试,看看
套一层肯定是可以的,但是之前的schema已经上生产了,在套一层的话,values的格式就变了,会多一层,所以不能多套一层,多套一层会改很多东西,可不可以在formrender里改一下?formrender升级了按理也需要兼容之前的schema呀
我理解数据只是从 data => xxx.data 吧,至于 data 里面的格式并不会改变
还有一个就是,我有点没 get 到点,你这个是一个顶层 schema 然后顶层 schema 对应的是一个自定义组件?那 form-render 起到了什么作用?
我理解数据只是从 data => xxx.data 吧,至于 data 里面的格式并不会改变
是的,如果变成xxx.data,需要我这里改一下,以及客户那里的接口再改一下,而且需要兼容已有的数据。
还有一个就是,我有点没 get 到点,你这个是一个顶层 schema 然后顶层 schema 对应的是一个自定义组件?那 form-render 起到了什么作用?
我上面写的schema只是一种使用情况,其他大多数的使用情况都是按照你们的标准来的。我的点是在于,既然之前这种schema是可以正常渲染出来的,那么版本升级之后也得兼容之前的schema吧?
底层渲染器换了,你这种非标准好像不适用新的渲染器
底层渲染器换了,你这种非标准好像不适用新的渲染器
实在不行的话,那我改一下代码逻辑吧,这种根节点就是自定义组件的,就不使用formrender了。
恩,或者是判断一下是根组件这种情况,回填数据套一层、提交数据解套
以前业务上schema如下: { "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Feeds 策略配置", "type": "object", "widget": "StrategyEditor", "readOnlyWidget": "StrategyEditor", "props": {} } 在1.14.14版本中,上面的schema是可以正常渲染出表单的,但是升级到2.x版本后,就不能渲染了。辛苦看一下,因为这个已经上到正式环境了,我这没有太好的办法修改。