本人在开发过程中遇到这样一个问题,打算通过useEffect
来初始化表单的默认值,这里使用的是react下的hooks Api,但是textArea的初始值始终无法设置成功:
import React, { useState, useEffect, useRef } from 'react';
// 文本框默认内容
const [textAreaContent, setText] = useState('sdc');
// 使用useEffect初始化表单
useEffect(() => {
async function pageInfo() {
const { data } = await getPageInfo();
const { imgList, text } = JSON.parse(data[0]);
setText(text);
};
pageInfo();
}, []);
// 显示部分
<Form>
<FormItem label='内容' name={['user', 'pageContent']}>
<TextArea value={textAreaContent} defaultValue={textAreaContent}/>
</FormItem>
</From>
通过排查发现接口请求没有问题,使用hooks设置字符串的功能也正常,但就是无法设置textArea的默认值。甚至直接给TextArea的defaultValue和value写死字符串都无法生效。官网上有如下解释:
为什么 Form.Item 下的子组件 defaultValue 不生效?#
当你为 Form.Item 设置 n