当新计划添加有默认的属性时, 将删除“ 改变” 之后的 Schema 更新
· 先决条件
- 我搜索了现有的问题
- 据我所知,提供SSCE实例对维护者极为有用。
- 我读了[文件](https://rjsf-team.ZGitHub.io/ react-jsonschema-form/docs)
- 理想的情况是,我提供一个样本JSFiddle,Codesandbox.io,或最好是一个共用游乐场链接,以展示这个问题。
你在用什么主题?
核心项目
翻译:
6.10.1 国家
当前的行为
当母部分从目前的形式数据 ' 中获得schema'时,随`变化'而来的最新计划就会悄然放弃。 新字段永远不会产生,也没有错误或警告。
只有在新计划增加的财产有`违约'时才发生这种情况。 删除“默认”并正确应用同一更新。 任何字段类型都会受到影响。
• 预期行为
不论新计划是否增加了 " 违约 " 的财产,都应实行`schema ' 道具改变。
打开sandbox,或运行此组件:
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 从“ react” 导入{ use state } ; 从“@rjsf/core”导入表格; 从'@rjsf/validator-ajv8'导入验证符;
Const getSchema = (formData) ({ 类型 : “ 对象” , 属性 :{ 触发 : {类型:'字符串',标题:'Trigger'}, ... (formData?. 触发“ 显示” ) ♪ { { 额外 : { 类型 : 字符串, 标题: 'extra', 默认: “ 预设 ” , // 删除此行并错误消失 {\fn华文楷体\fs16\1cHE0E0E0} {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? : {}, {\fn华文楷体\fs16\1cHE0E0E0}
- ;
导出默认函数 App () { c. [formData, setFormData]=使用状态(XQ);
返回( ưμ㼯A <表单 计划 : 验证符 {} 窗体Data {FormData} 类型 (活动)\\ nFormData(活动.formData)\\ n / > 打开 (三) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
1. " 显示 " 类型进入 " 滴滴 " 领域。
2. 预期:第二个字段 " Extra " 出现,预先填入 " preset " 。
3. 实际:没有出现。 只有 " Trigger " 出现。
4. 删除 " 默认 " 一行并重复。 `Extra'现按预期出现。
`活的Validate'没有区别;我用它来测试,没有它。
环境
减记
- OS: macOS 27.0 (英语).
- 节点:24.18.1
- 注: 11.16.0
- 反应:19.2.8还有别的吗?
原因看起来像一面旗帜,它被设定但并不总是被清除. 流程PendingChange ()'设定处理用户 Change = true'. 其制造的 " set State " 带有不变道具,因此, " GetSnapshot beefore Update " 返回...Update:虚假的QX和 " 组件DidUpdate " 从未到达清除旗帜的线条,因为线条位于if(snapshot.should Update)'块内。 父母对Change'的答复随即到达时仍悬挂着一面呆板的旗帜。 新的计划中的 " 违约 " 是使next state.formData ' 与props.formData'不同的原因,因此,将发射警卫火和计算状态。
. . . . . . .
内容来源: rjsf-team/react-jsonschema-form