form里被隐藏的内容如何不提交?

我有一个表单有2个单选扭 是和否,2个div 隐藏用。
我选择是的时候提交只提交显示是那一块的div,选择否就提交否的。

<Form.Item label='上门提货' >
                  {getFieldDecorator('tihuo', {
                    rules: [{ required: true }],
                    initialValue: "true"
                  })(
                    <Radio.Group onChange={e => this.onRadioChange(e)} >
                      <Radio value="true" >是</Radio>
                      <Radio value="false">否</Radio>
                    </Radio.Group>
                  )}
 </Form.Item>

  <div style={{ display: this.state.display_name==='block'?'block' :'none' }}>
        <Form.Item label='提货地址' >
                    {getFieldDecorator('name', {
                      rules: [{ required: true, message: '提货地址' }],
                    })(
                      <Select placeholder="请选择提货地址">
                        <Option value="xiao">宝安</Option>
                        <Option value="mao">龙岗</Option>
                      </Select>
                    )}
        </Form.Item>
</div>

  <div style={{ display: this.state.display_name==='none'?'block' :'none' }}>
            <Form.Item label='送货地址' >
                    {getFieldDecorator('name', {
                      rules: [{ required: true, message: '送货地址' }],
                    })(
                      <Select placeholder="请选择送货地址">
                        <Option value="xiao">宝安</Option>
                        <Option value="mao">龙岗</Option>
                      </Select>
                    )}
           </Form.Item>
</div>
阅读 7.2k
4 个回答

this.onRadioChange方法里添加this.setState({xxx:xxx})
根据你选的值设一个state值
const 表1=(<..>)
const 表2=(<..>)
下面2个div的地方换成{this.state.xxx?表1:表2}

{ this.state.display_name==='block' ?
    (<Form.Item label='提货地址' >
                {getFieldDecorator('name', {
                  rules: [{ required: true, message: '提货地址' }],
                })(
                  <Select placeholder="请选择提货地址">
                    <Option value="xiao">宝安</Option>
                    <Option value="mao">龙岗</Option>
                  </Select>
                )}
    </Form.Item>) : null
}

直接不注册这个表单项就可以。

在提交的时候吧表单所有值都获取到,在自己过滤一下再走接口不就行了

这代码应该是 react 吧。
要提交什么内容你难道不知道吗? 这很难吗...

if(radio){
    submit1()
}else {
    submit2()
}