javascript - 包装在 Tab 组件中时,Redux-form 字段数组无法按预期工作
问题描述
我想使用字段数组创建一个类似于此示例
https://redux-form.com/7.3.0/examples/fieldarrays/中提供的 redux 表单。
但我希望每个成员都显示在单独的选项卡中。我为此使用了 material-ui Tab 组件。请参考此沙箱https://codesandbox.io/s/jjy10p86n9(这只是我尝试的一个示例,但最终我希望单击添加成员按钮应在应用栏中添加一个带有新成员字段的新选项卡)
我面临的问题是:
- 当我单击提交按钮时,仅验证当前选项卡中的字段。其他选项卡中的字段未经过验证。
- 当我在选项卡之间切换时,选项卡中的先前验证被删除。
- 如果我们多次访问选项卡并点击提交按钮,则不会显示验证错误。
有没有人有任何想法或建议我该如何实施?
解决方案
您需要使用 CSS 来隐藏/显示与选项卡按钮关联的选项卡内容,而不是在单击选项卡按钮时呈现选项卡内容。因此,您获得的代码示例使用以下代码呈现所选选项卡的内容:
{fields.map(
(member, index) =>
tabValue === index && (
<div key={index}>
...
您想创建一个设置了“display:none”的 css 类,并将该类应用于与您当前内容无关的内容。例如:
<div className={tabValue === index ? null: "hiddenClass"}>
{fields.map(
(member, index) =>
(
<div key={index}>
...
</div>
希望有帮助!
推荐阅读
- image - 如何在 scikit-learn 中对不同大小和格式的不同图像进行分类?
- python - 如何按名称访问 numpy 数组列?
- json - 如何使 QuerySet JSON 可序列化?
- r - 如何从列表列表中检索元素及其所在的列表?
- asterisk - Asterisk SendURL() 使用主流 UCM6204
- git - Git克隆文件属于错误用户后,无法编辑
- angular - 使用代理将 Nginx HTTP 重定向到 HTTPS 不起作用
- c# - 添加具有相同名称的新程序集
- file - 如何通过批处理查找扩展名从未知文件名中设置变量?
- android - 未反映在 Firebase 数据库的 ValueEventListeners 内完成的分配