嵌套的React表单元素的React库

时间:2018-06-26 13:48:40

标签: javascript forms reactjs

我正在编写表单控件,以允许用户组装复杂的规则结构,这正在创建一些复杂的嵌套表单元素。我发现很难找到可以帮助我减少样板的反应成分库。

我很想写自己,但觉得我不可能成为解决这个问题的第一人。

表单元素树可能看起来像这样:

Text Input
High level control
|- Select input
|- Complex control 1 (only shown if select value 1 is chosen)
|  |- Text input
|  |- Conditional Input
|      |- Text input
|      |- Select
|      |- Text input (shown/hidden depending on the select)
|
|- Complex control 2 (only shown if select value 2 is chosen)
etc

这样做的原因是,例如Conditional Input用于其他上下文,因此需要自我控制,自行处理隐藏/显示的文本输入,以便可以轻松地将其插入到该应用程序。同样,High level control也可以相同的方式重复使用。

我所见过的所有表单库似乎都假定它们正在使用完整的<form>元素,而当我真正在寻找可以在字段级别使用的东西时:可以使用<select><input>的JSX / HTML进行包装,以在该字段更改时处理父级更新,并允许父级告诉元素呈现验证错误。

就像我说的那样,我当然不能成为第一个解决此问题的人,所以我真的不擅长谷歌搜索吗?还是我的设计与React的做事方式不合适?

0 个答案:

没有答案