欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

react對自己的組件使用setFieldsValue

setFieldsValue的用法

setFieldsValue是antd form的一個api,其作用是對指定的已使用from包裹的表單進行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;
? ? // 這里就能實現(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這個屬性,那么假如我們的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è)置初始值無效

錯誤:

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

因為formConfigListValues在每次操作完表單時候要走一遍,但是導(dǎo)致了,審批狀態(tài)一直不會變(也就是操作審核狀態(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é)

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

相關(guān)文章

  • React Navigation 路由傳參的操作代碼

    React Navigation 路由傳參的操作代碼

    這篇文章主要介紹了React Navigation 路由傳參,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • React簡單介紹

    React簡單介紹

    React 是一個用于構(gòu)建用戶界面的 JavaScript 庫,主要用于構(gòu)建 UI,而不是一個 MVC 框架,React 擁有較高的性能,代碼邏輯非常簡單,越來越多的人已開始關(guān)注和使用它
    2017-05-05
  • React 源碼中的依賴注入方法

    React 源碼中的依賴注入方法

    這篇文章主要介紹了React 源碼中的依賴注入方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • React Hook中useState更新延遲問題及解決

    React Hook中useState更新延遲問題及解決

    這篇文章主要介紹了React Hook中useState更新延遲問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • antd?upload上傳如何獲取文件寬高

    antd?upload上傳如何獲取文件寬高

    這篇文章主要介紹了antd?upload上傳如何獲取文件寬高問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 前端框架react-spring基礎(chǔ)用法

    前端框架react-spring基礎(chǔ)用法

    這篇文章主要為大家介紹了前端框架react-spring基礎(chǔ)用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 詳解如何在項目中使用jest測試react native組件

    詳解如何在項目中使用jest測試react native組件

    本篇文章主要介紹了詳解如何在項目中使用jest測試react native組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • React?SSR架構(gòu)Stream?Rendering與Suspense?for?Data?Fetching

    React?SSR架構(gòu)Stream?Rendering與Suspense?for?Data?Fetching

    這篇文章主要為大家介紹了React?SSR架構(gòu)Stream?Rendering與Suspense?for?Data?Fetching解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • React創(chuàng)建組件的的方式匯總

    React創(chuàng)建組件的的方式匯總

    React 是一個用于構(gòu)建用戶界面的 JAVASCRIPT 庫。這篇文章主要介紹了React組件的兩種創(chuàng)建方式,一種是使用函數(shù)創(chuàng)建組件另一種是使用類創(chuàng)建組件,需要的朋友可以參考下
    2021-11-11
  • ReactNative 之FlatList使用及踩坑封裝總結(jié)

    ReactNative 之FlatList使用及踩坑封裝總結(jié)

    本篇文章主要介紹了ReactNative 之FlatList使用及踩坑封裝總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論