reactjs如何动态生成表单?

Reactjs有没有办法根据后台数据动态构建表单,找了下没有很好的解决方案主要原因如下。
1、Reactjs没哟angularjs 或vue那样动态编译DOM的功能
2、没见到可以动态修改虚拟方法

可行的方法貌似只能把所有动态表单控件通过if形式写在代码里面如下,但是这样扩展性很差,而且代码量很大

for(){
    if(type=='text'){
        //
    }
    
    if(type=='select'){
        //
    }
}

各位有没有更好的方法?

阅读 9.1k
3 个回答

我在用vue的时候也发现这样的问题。
无法很好的动态生成表单。
因为这种框架都是以状态驱动视图,所以尽量能和后端协商好有哪些表单,后端传递需要显示哪些表单的标志位,然后根据标志位显示该显示的页面。

很是复杂啊,写很多判断代码。

给一个实现思路:https://github.com/eddyzhang1...
这个问题,我也遇到了,目前看有两种解决办法,但是都有明显的缺点,1.借助react jsonschema form 这种类库,2.借助 react templates这种类库结合动态编译。

可以使用form-create根据参数动态创建form表单,支持复选框、单选框、输入框、下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能。github地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题