React多层级表单

因项目需要封装的组件,组件库使用的是Ant Design

? 项目地址 :

     ? Github地址(React Multi-level Form):https://github.com/zlinggnilz/react-multi-level-form 

     ? 在线示例:https://codesandbox.io/s/clever-montalcini-litjo

? 说明 :

用到了 Form组件 , 布局组件,表单控件 ,如果没有使用Ant Design,可以用rc-form代替,需要对组件中使用的表单控件和布局进行替换。

example示例待完善,参数可参考组件中的proptypes 

 

需要formAttr表述层级结构,data为表单原始值,默认为 { },表单最终提交的是对应层级结构的Object,如:

formAttr:

const formAttr = [
  {
    label: '游乐园',
    key: 'park',
    multi: true,
    children: [
      { label: '名称', key: 'name' },
      { label: '地点', key: 'location', required: false },
      { label: '评分', key: 'rate', type: 'int' }
    ]
  }
];

js:

<MultiForm formAttr={formAttr} data={{}} onSubmit={this.handleSubmit} loading={loading} />

页面显示:

Submit Data:

{
  "park": [
    {
      "name": "名称1",
      "location": "地址1",
      "rate": 4
    },
    {
      "name": "名称2",
      "location": "地点2",
      "rate": 5
    }
  ]
}

 

参考 :

 

转载于:https://www.cnblogs.com/zling-gnilz/p/10757151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值