antd 弹框中的表单form 初始化问题

问题描述:

在公司做项目的时候,有一个关于表格中的编辑需求,我在弹框中用antd的表单组件,点开时,默认要显示目前行的相关数据。但是表单组件的initialValue只会渲染一次,这就导致我第二次点击编辑的时候还是第一次的数据。


代码如下:
<Modal
	title={modelTitle}
	centered
	visible={this.state.modal2Visible}
	onOk={() => this.addSubmit()}
	onCancel={() => this.setState({modal2Visible: false})}
>
	<Form
	  ref={this.formRef}
	  name="basic"
	  labelCol={{ span: 8 }}
	  wrapperCol={{ span: 16 }}
	  onFinish={this.onFinish}
	  onFinishFailed={this.onFinishFailed}
	>
	  <Form.Item
	    label="业务名称"
	    name="business_name"
	    initialValue={this.state.editNodeInf.business_name}
	    rules={[{ required: true, message: 'Please input business_name!' }]}
	  >
	    <Input />
	  </Form.Item>
	</Form>
</Modal>

解决方案:

给弹框增加 destroyOnClose={true} ,表示每次退出都销毁数据,第二次打开编辑的时候就可以使用initialValue重新初始化form组件的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值