问题标签 [react-jsonschema-forms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - React-Select 未在第一次更改时更新
我一直在尝试react-select
在我的内部使用组件react-json-schema-form
,并且选择字段第一次没有更新。这是我得到的行为。
行为视频
编码:
道具来自 RJSF, enumOptions 看起来像:
谁能告诉我我做错了什么?
父 RJSF:
那是父组件,我使用 react-select 作为自定义组件!
reactjs - ArrayFieldTemplate 的 React jsonschema 表单中的自定义 UI
我react jsonschema form
在我的应用程序中使用并在响应/请求中处理一个数组。我所做的是使用我的自定义 UI,而不是使用{element.children}
它通过一些魔法创建 html 并提供所有可用的道具。下面是我的代码
我想在表格中显示input type="text"
and 。为简洁起见,我删除button
了数组中的其他字段。{element.children.props.formData}
现在,当第一次加载页面时,数据库中没有UserNotes
,所以我看到空白文本框,但是当我输入一些内容并单击submit
该数组时,当后端收到请求时,该数组仍然为空。
我正在使用react with typescript
.
下面是表格代码
我找不到任何以反应 jsonschema 形式将自定义 ui 与 ArrayFieldTemplate 一起使用的示例。谁能帮帮我吗?无法替换 react jsonschema 表单,因为此代码已在生产中使用。我只是想用自定义 UI 添加 ArrayFieldTemplate。
jsonschema - jsonschema 验证:特定字段的值应限制为在另一个字段中输入的值
我想知道 jsonschema 是否可以验证特定字段的值,该字段仅限于在另一个字段中输入的值。例如:
因此
如果我为“someStrings”输入“red”、“blue”、“green”,“chooseOneOfSomeStrings”如果是“red”则有效,如果是“yellow”则无效。
reactjs - 使用 CDN 库时如何启用 react-jsonschema-form 主题
我有一个庞大的 JSON 模式,我想从中生成一个 HTML/JS 表单。看来这react-jsonschema-form
是一个很好的解决这个问题的方法。该框架有很好的文档,但它侧重于使用 npm 进行开发。由于超出此问题范围的原因,我只能通过没有 JSX 的 CDN + React 使用它。不幸的是,我不是 Web 开发人员,我很难弄清楚在没有 JSX 的情况下使用 CDN + React 进行开发时如何使用不同的主题。到目前为止,我有以下index.html
预期工作:
.js 文件被下载并复制到与 .js 相同的目录中index.html
。我正在使用 2.5.1 版react-jsonschema-form
。
如果有人能指出我如何使用框架的不同主题(例如,Material UI)来呈现它的正确方向,我将不胜感激。
谢谢
reactjs - React JSON Schema 提交后关注错误字段
我试图让React JSON Schema专注于提交后出现错误的第一个字段,但我找不到任何方法。
有什么想法吗?
jsonschema - 根据 Json Schema 中的另一个字段更新字段
如何根据 React Json Schema 中另一个字段的更改来更新一个字段?下面是我的模式对象。
为了简化用例,假设我有一个国家下拉字段默认设置为加拿大,货币文本字段为空。如果国家/地区发生变化,货币文本字段应显示新元。
reactjs - 如何仅显示当前选择的 rjsf `anyOf` 项的验证消息?
当子句内的两个对象anyOf
共享一个同名字段时,该字段将被验证两次,每个替代项一次。即使对于当前未选择的项目,这也会显示错误消息,这会让人感到困惑。
例如,对于以下架构:
每当我在 中输入非数字字符sharedNumericField
时,验证错误 should match pattern "^[0-9]*$"
都会显示两次。
我只想显示当前正在显示的项目的错误消息。有没有一种简单的方法可以做到这一点?
我能想到的唯一方法是强制向每个对象注入一个不同的隐藏值,formData
根据该值识别当前选择的项目,然后使用transformErrors函数过滤掉未选择的项目 - 但我真的希望有一个更干净的方法:)
reactjs - 如何以 React json 形式制作模式依赖项以显示在一行中
我正在使用 react json 模式表单(https://react-jsonschema-form.readthedocs.io/)来创建通过模式呈现的表单。我正在尝试生成一个模式依赖项,其中基于下拉列表的选择生成不同类型的表单字段。
我以这种形式创建了 json 模式:
但是,通过在 json 模式游乐场 ( https://rjsf-team.github.io/react-jsonschema-form/ )中对此进行测试可以看出,它会在彼此下方生成 Select 运算符和相应的值框。有没有办法让所有东西都排成一行?
我研究过使用这个https://github.com/audibene-labs/react-jsonschema-form-layout来布局不同的表单元素,但我无法弄清楚 uiSchema 应该是什么样子。有什么建议么?我使用引导程序作为我的样式库。
jsonschema - 将多个格式规则应用于单个 rjsf 字段
我喜欢 rjsf 格式的 api,它对我很有用:
但我想为单个字段分配多个格式规则,并使用transformErrors api为每个字段显示不同的消息,为用户提供更准确的错误反馈。类似于以下内容:
但是这个数组表示法不起作用,而是破坏了格式:)
有没有一种干净的方法来实现我想要的?
reactjs - 如何访问“transformErrors”中的输入值
在transformErrors回调中映射错误时,我需要知道相关输入的实际值。
我需要这个来创建一个系统,用于将多种现有格式组合成新的复合格式。我想将输入值与每种“基本”格式相匹配,并为失败的格式显示错误。allOf
不幸的是,由于我的项目非常具体的原因,编写格式的方法对我不起作用。
tranformErrors
我尝试通过currying和直接读取数据将表单数据注入我的回调:
但是这种方式value
比表单的实际状态落后一个击键,这是我所期望的。不幸的是,即使我不直接传入,这也不起作用formData
,makeTransformErrors
而是我传入一个包含formData
并直接在 Forms 中直接改变它的对象onChange
,这是我期望的。
访问字段值的其他可能方式是什么?也许可以配置(或修补) ajv 验证器以将值附加到验证错误的参数?