Reactjs 如何将对象传递到ant.design表单中?
我正在从后端动态加载数据。完成后,将更新状态对象:Reactjs 如何将对象传递到ant.design表单中?,reactjs,antd,Reactjs,Antd,我正在从后端动态加载数据。完成后,将更新状态对象: componentDidMount = ()=>{ let response = await axios.get('/api/entity/' + id); if (response.data && response.data.result){ this.setState({item: response.data.entity}); } el
componentDidMount = ()=>{
let response = await axios.get('/api/entity/' + id);
if (response.data && response.data.result){
this.setState({item: response.data.entity});
} else {
this.setState({status: 'error', message: response.data.error || constants.defaultErrorMessage})
}
}
我在同一个组件中也有一个表单。我不知道如何调用setFieldsValue函数将数据传递到表单中
<Form
onFinish={this.save}
initialValues={this.state.entity}>
{formItems}
<Form.Item>
<Button type="primary" htmlType="submit">
Save data
</Button>
</Form.Item>
</Form>
{formItems}
保存数据
可以使用ref
:
class Demo extends React.Component {
formRef = React.createRef();
componentDidMount() {
this.formRef.current.setFieldsValue({
username: 'Bamboo',
});
}
render() {
return (
<Form ref={this.formRef}>
<Form.Item name="username" rules={[{ required: true }]}>
<Input />
</Form.Item>
</Form>
);
}
}
类演示扩展了React.Component{
formRef=React.createRef();
componentDidMount(){
this.formRef.current.setFieldsValue({
用户名:'竹',
});
}
render(){
返回(
);
}
}
参考资料:可通过
ref
完成:
class Demo extends React.Component {
formRef = React.createRef();
componentDidMount() {
this.formRef.current.setFieldsValue({
username: 'Bamboo',
});
}
render() {
return (
<Form ref={this.formRef}>
<Form.Item name="username" rules={[{ required: true }]}>
<Input />
</Form.Item>
</Form>
);
}
}
类演示扩展了React.Component{
formRef=React.createRef();
componentDidMount(){
this.formRef.current.setFieldsValue({
用户名:'竹',
});
}
render(){
返回(
);
}
}
参考:获取数据时会发生什么?另外,您的
表单项目是什么样子的?这似乎是正确的。装载时只提取一次数据,并在状态更新后使用该数据重新初始化值。这是正确的,但不起作用,因为无法从状态更新Ant Form中的数据。提取数据时会发生什么情况?另外,您的表单项目是什么样子的?这似乎是正确的。装载时只提取一次数据,并在状态更新后使用该数据重新初始化值。这是正确的,但不起作用,因为Ant Form中的数据无法从状态更新。