react中antd表单获取值得方法:validateFields
但是今天在代码中用this.props.form.validateFields()报错了,这是为什么呢,看了一下报错,说最新版本已经不支持这样写了。
解决方法:
<Modal title={this.props.title}
centered
visible={this.state.visible}
onOk={this.onClick.bind(this)}
onCancel={this.handleCancel.bind(this)}
okText={this.state.okText}
width={600}
>
<div className="H500">
<Form
{...layout}
name="basic"
ref={ref => this.formRef = ref} // 关键之处
initialValues={formData}
// onSubmit={this.onSubmit.bind(this)}
>
<Row>
<Col span={12}>
<Form.Item label="集群"
name="clusterId"
rules={[{ required: true, message: '不能留空' }]}>
<Select
value={formData.clusterId}
onChange={this.onChange.bind(this, 'jqType')}
// ref={inputR}
>
{getJQList.length > 0 && getJQList.map((e) => {
return (
<>{<Option value={e.value}>{e.title}</Option>}</>
)
})}
</Select>
</Form.Item>
</Col>
<Col span={12}>
<Form.Item
label="库名"
name="dbName"
rules={[{ required: true, message: '不能留空' }]}>
<Select>
{kmList.length > 0 && kmList.map((e) => {
return (
<>{<Option value={e.value}>{e.title}</Option>}</>
)
})}
</Select>
</Form.Item>
</Col>
</Row>
</Form>
</div>
</Modal>
this.formRef.setFieldsValue({ dbName: '' }) // 直接设置Form表单里面的name, // 回显
let data = this.formRef.getFieldsValue() // 直接获取Form表单里面的 // 获取
this.refs.addFrom.getFieldValue(‘name’) · // 获取某一项
this.refs.addFrom.resetFields() // 清空数据