antd textArea無法初始化默認值 defaultValue

本人在開發(fā)過程中遇到這樣一個問題癣疟,打算通過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>

通過排查發(fā)現接口請求沒有問題,使用hooks設置字符串的功能也正常,但就是無法設置textArea的默認值柒莉。甚至直接給TextArea的defaultValue和value寫死字符串都無法生效。官網上有如下解釋:

為什么 Form.Item 下的子組件 defaultValue 不生效沽翔?#  
當你為 Form.Item 設置 name 屬性后兢孝,子組件會轉為受控模式。因而 defaultValue 不會生效仅偎。你需要在 Form 上通過 initialValues 設置默認值跨蟹。

相關鏈接
可以參考官網的建議,或參考class實現下針對antd 表單組件的賦初始值方式:

    const { currentUser, form } = this.props;
    form.setFieldsValue(obj);

考慮到可能要通過form的setFieldsValue Api才能達到目的橘沥,于是對函數式組件進行改造:

import React, { useState, useEffect, useRef } from 'react';

const formRef = useRef(null);

//  文本框默認內容
const [textAreaContent, setText] = useState('sdc');

//  使用useEffect初始化表單
useEffect(() => {
    async function pageInfo() {
        const { data } = await getPageInfo();
        const { imgList, text } = JSON.parse(data[0]);
        formRef.current.setFieldsValue({
           user: {
             pageContent: text
           }
        })
        setText(text);
    };
    pageInfo();
}, []);


//  顯示部分
<Form ref={formRef}>
    <FormItem label='內容' name={['user', 'pageContent']}>
        <TextArea />
    </FormItem>
</From>

這里通過useRef來獲取antd form的實例窗轩,然后調用它的setFieldsValue,測試后發(fā)現TextArea初始值賦值成功

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末威恼,一起剝皮案震驚了整個濱河市品姓,隨后出現的幾起案子,更是在濱河造成了極大的恐慌箫措,老刑警劉巖腹备,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異斤蔓,居然都是意外死亡植酥,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來友驮,“玉大人漂羊,你說我怎么就攤上這事⌒读簦” “怎么了走越?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長耻瑟。 經常有香客問我旨指,道長,這世上最難降的妖魔是什么喳整? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任谆构,我火速辦了婚禮,結果婚禮上框都,老公的妹妹穿的比我還像新娘搬素。我一直安慰自己瑟匆,他們只是感情好蒂教,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布黍檩。 她就那樣靜靜地躺著叮阅,像睡著了一般论悴。 火紅的嫁衣襯著肌膚如雪嗜闻。 梳的紋絲不亂的頭發(fā)上病袄,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天纠亚,我揣著相機與錄音妥衣,去河邊找鬼皂吮。 笑死,一個胖子當著我的面吹牛税手,可吹牛的內容都是我干的蜂筹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼芦倒,長吁一口氣:“原來是場噩夢啊……” “哼艺挪!你這毒婦竟也來了?” 一聲冷哼從身側響起兵扬,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤麻裳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后器钟,有當地人在樹林里發(fā)現了一具尸體津坑,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年傲霸,在試婚紗的時候發(fā)現自己被綠了疆瑰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眉反。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖穆役,靈堂內的尸體忽然破棺而出寸五,到底是詐尸還是另有隱情,我是刑警寧澤耿币,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布梳杏,位于F島的核電站,受9級特大地震影響淹接,放射性物質發(fā)生泄漏秘狞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一蹈集、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雇初,春花似錦拢肆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刊橘,卻和暖如春鄙才,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背促绵。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工攒庵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人败晴。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓浓冒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尖坤。 傳聞我的和親對象是個殘疾皇子稳懒,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容