vb.net form 最大化按钮 代码_【React】利用antd的form自定义表单控件

8e42b826f2059e841bf5f2afeacb1029.png

由于业务的需求,需要对Form表单进行自定义控件操作

业务需求如下:

d69d7ae0a06cf7e0f7b7ee9af5331111.png

首先点击选择按钮---在弹窗中选择产品--将选择好的产品展示在页面上,关于自定义组件的封装网上大牛的方法大多是封装好新的组件,从而能够在点击保存的时候获取到自定义的value

但是今天给大家提供另一种思路:只是将组件放在getFieldDecorator中,点击保存的时候通过this.props.form.validateFields方法中的values加入要传给后台的新的参数

具体实现代码如下:

//展示产品的list放在选择产品下面
    showProductList =()=> {
        let ProductList = this.state.ProductList
        return ProductList && ProductList.map((item,index) => {
            return <div key={index}>{item.name}</div>
        })
    }
  const SELECTBTN = <FormItem label={label} {...formItemLayout} key={field}>
                    {
                       getFieldDecorator(field, {
                           rules:[{
                               initialValue: initialValue,
                               required:required,
                               message: requiredMsg,
                           }]
                       })(
                        <div>
                            <Button type="primary" onClick = {this.chooseProduct}>选择</Button>
                            {this.showProductList()}  
                            {/* 展示产品list */}
                        </div>
                           )
                   }
                    </FormItem>

点击保存得时候,在values中定义好要传给后台的参数,如:我需要传给后台需要的ids

handleFormSubmit = (e) => {
        e.preventDefault();
        this.props.form.validateFields((err, values) => {
            values.ids = [1,2,3] //这步骤是定义的,根据你的需求来修改参数值
            console.log('Received values of form: ', values); //这样打印出来的value中就有ids了
        });
       //this.requestLIst()然后这块可以请求接口把参数传过去了
    }

这样就能实现了哇~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值