我的编程空间,编程开发者的网络收藏夹
学习永远不晚

react中满足对自己的组件使用setFieldsValue

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

react中满足对自己的组件使用setFieldsValue

这篇文章主要介绍“react中满足对自己的组件使用setFieldsValue”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react中满足对自己的组件使用setFieldsValue”文章能帮助大家解决问题。

    react对自己的组件使用setFieldsValue

    setFieldsValue的用法

    setFieldsValue是antd form的一个api,其作用是对指定的已使用from包裹的表单进行value设置。那么所以它的功能也很简单,那就是给指定的input设置value。

    如下所示:

    import React from "react";import { Form, Input } from 'antd';class TestForm extends React.Component {  componentDidMount(){    const { setFieldsValue } = this.props.form;    // 这里就能实现指定表单设置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 设置的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设置自定义的组件了

    使用Hooks使用setFieldsValue设置初始值无效

    react中满足对自己的组件使用setFieldsValue

    错误:

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

    因为formConfigListValues在每次操作完表单时候要走一遍,但是导致了,审批状态一直不会变(也就是操作审核状态失效);

    正确:

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

    在hooks中使用setFieldsValue,还要注意写代码的顺序和层级结构(如:新加的setFieldsValue到底放在里边还是外边,放到外边的话是否要注意,要放在resetFields所在useEffect的下边)。

    关于“react中满足对自己的组件使用setFieldsValue”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    react中满足对自己的组件使用setFieldsValue

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    react中满足对自己的组件使用setFieldsValue

    这篇文章主要介绍“react中满足对自己的组件使用setFieldsValue”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react中满足对自己的组件使用setFieldsValue”文章能帮助大
    2023-07-05

    react中如何对自己的组件使用setFieldsValue

    react中如何对自己的组件使用setFieldsValue问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-11

    需要满足的绝对定位使用条件有哪些?

    绝对定位的使用条件有哪些?需要具体代码示例绝对定位是一种常用的CSS定位方式,它可以使元素相对于其最近的非静态(即position属性值为static以外的元素)定位的父元素(包括body)进行定位。在使用绝对定位之前,我们需要了解一些使
    需要满足的绝对定位使用条件有哪些?
    2024-01-23

    如何使用自定义hooks对React组件进行重构

    这篇文章主要介绍了如何使用自定义hooks对React组件进行重构的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用自定义hooks对React组件进行重构文章都会有所收获,下面我们一起来看看吧。处理复杂性
    2023-07-05

    React组件中的state和setState如何使用

    本篇内容主要讲解“React组件中的state和setState如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React组件中的state和setState如何使用”吧!state的基本
    2023-06-29

    关于react-router中的Prompt组件使用心得

    这篇文章主要介绍了关于react-router中的Prompt组件学习心得,Prompt组件作用是,在用户准备离开该页面时,弹出提示,返回true或者false,如果为true,则离开页面,如果为false,则停留在该页面,本文结合示例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-17

    Vue自定义组件中v-model的使用方法示例

    日常开发中除了直接在input标签上使用v-model指令外,封装的组件也需要v-model,下面这篇文章主要给大家介绍了关于Vue自定义组件中v-model使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-19

    在Android开发中使用自定义组合控件的例子

    一、定义一个XML布局文件 setting_item_view.xml 2022-06-06

    antd vue中,如何在form表单中的自定义组件使用v-decorator

    antd vue中,在form表单中的自定义组件使用v-decorator问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-17

    Java如何使用用户自定义的比较函数对数组中的键名进行排序

    Java中可使用Arrays.sort()方法对数组键名进行自定义排序。首先创建自定义比较函数,实现Comparator接口的compare()方法,指定键名大小比较逻辑。然后在Arrays.sort()中传入自定义比较函数作为参数。该方法将按指定逻辑对键名进行排序。示例代码展示了按忽略大小写顺序排序键名的过程。通过自定义比较函数,可根据特定需求对键名进行灵活排序。
    Java如何使用用户自定义的比较函数对数组中的键名进行排序
    2024-04-02

    PHP如何使用用户自定义的比较函数对数组中的键名进行排序

    PHP提供了ksort()和krsort()函数用于按键名排序,但默认按ASCII值排序。要按自定义逻辑排序,需使用回调函数作为比较函数,接受两个键名参数并返回整数。PHP提供uksort()和ukrsort()函数,使用自定义比较函数对键名排序。示例演示了如何按键名的长度排序:自定义比较函数返回键名长度差值。uksort()使用该函数对数组键名排序,输出按长度递增的数组。自定义比较函数应返回整数,并能接收其他参数,但需在调用uksort()或ukrsort()时指定。
    PHP如何使用用户自定义的比较函数对数组中的键名进行排序
    2024-04-02

    Java如何使用用户自定义函数对数组中的每个元素做回调处理

    Java中使用用户自定义函数对数组元素进行回调处理的步骤如下:定义用户自定义函数;创建数组;使用StreamAPI,通过lambda表达式或方法引用传递自定义函数;理解映射操作,将函数应用于每个元素。优势:可重用性:函数可重复使用,执行同一操作;灵活:自定义函数可定义特定操作;简洁:语法简洁;并行处理:提升大数组处理效率。
    Java如何使用用户自定义函数对数组中的每个元素做回调处理
    2024-04-02

    PHP如何使用用户自定义函数对数组中的每个元素做回调处理

    PHP中使用用户自定义函数对数组元素执行回调可利用array_map()函数。回调函数作为参数传递,执行特定操作,常用于类型转换、字符串处理、数组元素过滤、数学运算或创建新数组。该函数可同时处理多个数组,通过闭包或匿名函数传递更复杂的逻辑。array_map()简化了对数组每个元素进行自定义操作的任务,提供广泛的处理可能性。
    PHP如何使用用户自定义函数对数组中的每个元素做回调处理
    2024-04-02

    PHP如何使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

    PHP中使用自定义比较函数对数组进行排序,保持索引关联。usort()和uksort()函数用于按值或键进行排序。自定义比较函数返回整数表示比较结果:正数(大于)、零(相等)、负数(小于)。示例包括按长度、数字大小和键字母顺序排序。注意比较函数仅比较元素值,以保留索引关联。
    PHP如何使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
    2024-04-02

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录