最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react中如何對自己的組件使用setFieldsValue

 更新時(shí)間:2023年03月11日 14:35:24   作者:checkMa  
react中如何對自己的組件使用setFieldsValue問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

react對自己的組件使用setFieldsValue

setFieldsValue的用法

setFieldsValue是antd form的一個(gè)api,其作用是對指定的已使用from包裹的表單進(jìn)行value設(shè)置。那么所以它的功能也很簡單,那就是給指定的input設(shè)置value。

如下所示:

import React from "react";
import { Form, Input } from 'antd';

class TestForm extends React.Component {
? componentDidMount(){
? ? const { setFieldsValue } = this.props.form;
? ? // 這里就能實(shí)現(xiàn)指定表單設(shè)置value
?? ?setTimeout(()=>{
?? ??? ?setFieldsValue({"username": "Tom"})
?? ?},5000)
? }
? render() {
? ? const { getFieldDecorator } = this.props.form;
? ? return (
? ? ? <Form >
? ? ? ? <Form.Item>
? ? ? ? ? {getFieldDecorator('username', {})(<Input />)}
? ? ? ? </Form.Item>
? ? ? </Form>
? ? );
? }
}

export default Form.create()(TestForm)

問題

那么假如把

{getFieldDecorator('username', {})(<Input />)}

換成

{getFieldDecorator('username', {})(<TestInput />)}

setFieldsValue 設(shè)置的value去哪了?相信聰明的你一眼就看透了,自然是在TestInput上面。假如TestInput是我們自定義的組件,那么我們則可以在props中找value這個(gè)屬性,那么假如我們的Input是自定義的input組件,我們可以這么寫

import React from "react";
import { Input } from 'antd';

class TestInput extends React.Component {

?? ?state = {
?? ??? ?value: ""
?? ?}
?? ?
?? ?componentWillReceiveProps(nextProps){
?? ??? ?if(nextProps.value){
?? ??? ??? ?this.setState({
?? ??? ??? ??? ?value: nextProps.value
?? ??? ??? ?})
?? ??? ?}
?? ?}
?? ?
?? ?render() {
?? ? ? ?return (
?? ? ? ? ?<div >
?? ? ? ? ? ? ?<Input value={this.state.value}/>
?? ? ? ? ?</div>
?? ? ? ?);
? ?? ?}
}

export default TestInput

這樣,我們就能使用setFieldsValue設(shè)置自定義的組件了

使用Hooks使用setFieldsValue設(shè)置初始值無效

錯(cuò)誤:

  useEffect(() => {
    if (formConfigListValues.length === 0) {
      form.resetFields();
      if (statusId) {
        form.setFieldsValue({flowStatus: 1});
      }
    }
  }, [formConfigListValues, statusId]);

因?yàn)閒ormConfigListValues在每次操作完表單時(shí)候要走一遍,但是導(dǎo)致了,審批狀態(tài)一直不會(huì)變(也就是操作審核狀態(tài)失效);

正確:

  useEffect(() => {
    if (formConfigListValues.length === 0) {
      form.resetFields();
    }
  }, [formConfigListValues]);
  
  useEffect(() => {
      if (statusId) {
        form.setFieldsValue({flowStatus: 1});
      }
  }, [statusId]);

在hooks中使用setFieldsValue,還要注意寫代碼的順序和層級結(jié)構(gòu)(如:新加的setFieldsValue到底放在里邊還是外邊,放到外邊的話是否要注意,要放在resetFields所在useEffect的下邊)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在React Native中添加自定義字體的方法詳解

    在React Native中添加自定義字體的方法詳解

    在這篇指南中,我們將探索使用 Google Fonts 在 React Native 應(yīng)用中添加自定義字體的方法,字體是優(yōu)秀用戶體驗(yàn)的基石,使用定制字體可以為你的應(yīng)用程序提供獨(dú)特的身份,需要的朋友可以參考下
    2024-02-02
  • React如何利用相對于根目錄進(jìn)行引用組件詳解

    React如何利用相對于根目錄進(jìn)行引用組件詳解

    這篇文章主要給大家介紹了關(guān)于React如何使用相對于根目錄進(jìn)行引用組件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • React?Hooks之useDeferredValue鉤子用法示例詳解

    React?Hooks之useDeferredValue鉤子用法示例詳解

    useDeferredValue鉤子的主要目的是在React的并發(fā)模式中提供更流暢的用戶體驗(yàn),特別是在有高優(yōu)先級和低優(yōu)先級更新的情況下,本文主要講解一些常見的使用場景及其示例
    2023-09-09
  • React.InputHTMLAttributes實(shí)踐和注意事項(xiàng)

    React.InputHTMLAttributes實(shí)踐和注意事項(xiàng)

    文章討論了如何在封裝組件中使用React.InputHTMLAttributes,以及如何通過 {...inputProps} 動(dòng)態(tài)傳遞屬性,最后,文章總結(jié)了使用React.InputHTMLAttributes的最佳實(shí)踐和注意事項(xiàng),感興趣的朋友一起看看吧
    2024-11-11
  • 在react配置使用less的完美方案

    在react配置使用less的完美方案

    由于 create-react-app 使用 webpack 作為其模塊打包器,你需要修改 webpack 的配置來支持 .less 文件,這篇文章主要介紹了在react配置使用less的完美方案,需要的朋友可以參考下
    2024-04-04
  • Rect Intersection判斷兩個(gè)矩形是否相交

    Rect Intersection判斷兩個(gè)矩形是否相交

    這篇文章主要為大家介紹了Rect Intersection判斷兩個(gè)矩形是否相交的算法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • React實(shí)現(xiàn)雙向綁定示例代碼

    React實(shí)現(xiàn)雙向綁定示例代碼

    這篇文章給大家介紹了在React中如何實(shí)現(xiàn)雙向綁定,文中給出了示例代碼,對大家的理解與學(xué)習(xí)很有幫助,有需要的朋友下面來一起看看吧。
    2016-09-09
  • 如何強(qiáng)制刷新react hooks組件

    如何強(qiáng)制刷新react hooks組件

    這篇文章主要介紹了如何強(qiáng)制刷新react hooks組件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 從零開始學(xué)習(xí)搭建React腳手架項(xiàng)目

    從零開始學(xué)習(xí)搭建React腳手架項(xiàng)目

    這篇文章主要介紹了從零開始學(xué)習(xí)搭建React腳手架項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • React的生命周期詳解

    React的生命周期詳解

    React是用于構(gòu)建用戶界面的JavaScript庫。本文詳細(xì)講解了React的生命周期,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論

泸水县| 昭通市| 三明市| 建昌县| 武山县| 建宁县| 通城县| 南岸区| 腾冲县| 平阴县| 杭锦后旗| 临邑县| 阿坝县| 全南县| 丹东市| 扶余县| 麦盖提县| 林州市| 桃源县| 砀山县| 遂昌县| 沙雅县| 湖州市| 侯马市| 文昌市| 隆回县| 金山区| 永年县| 确山县| 宿迁市| 东莞市| 巴林右旗| 万州区| 保定市| 建湖县| 赤水市| 彭泽县| 翁源县| 涟水县| 荣成市| 湟源县|