<Form.Item label="备注">
{
getFieldDecorator('studentNum')(
<div>
<TextArea maxLength={50}
placeholder="请输入备注"
style={{width: '100%', resize: 'none'}}
onChange={(e)=>this.marksClick(e)}
rows={5}
/>
<div className="user-management-count">{count}/50</div>
</div>
)
}
</Form.Item>
这种情况下form表单中的textArea并没有反显改行textArea得内容
是因为在textArea外部嵌套了一个div,所以在使用textArea时外部嵌套div input值不能赋值到textArea中
<Form.Item label="备注">
{
getFieldDecorator('remark')(
<div>
<TextArea maxLength={50}
placeholder="请输入备注"
style={{width: '100%', resize: 'none'}}
onChange={(e)=>this.marksClick(e)}
rows={5}
defaultValue={textAreaValue}
/>
<div className="user-management-count">{count}/50</div>
</div>
// (<TextArea placeholder="请输入手机号码"/>)
)
}
</Form.Item>
通过defaultValue属性,手动更新textArea得值就解决拉
form父组件验证
父组件
<Livebroadcast bannerDetail ={this.state.bannerDetail} radioValue ={radioValue}
wrappedComponentRef={form => {
this.livebroadcast = form}
}
onRef={(ref)=>this.getChildForm=ref}
titleName={titleName}
editObj={editObj}
/>
addAndUpdateTask = async () => {
this.setState({
updateTaskFlag:true
},()=>{
this.livebroadcast.props.form.validateFields((err, values) => {
//表单验证以及表单数据
})
```let values=this.props.form.resetFields()
函数需要用aysnc await异步,将promise函数转变为对象