antd3和dva-自定义组件初始化值的操作演示和自定义组件校验

news2024/11/22 15:25:41

前言

  • 在antd3 (react)版和dva下,好像有的项目使用的是getFieldDecorator来获取表单的值的,现在就遇到了一个问题,getFieldDecorator针对antd自带的组件实现效果很好,除去一个form.item只能有一个getFieldDecorator的限制,其他都很好用,但是假如是自定义组件或者说在getFieldDecorator当中遇上了全选操作,就会有问题(目前我是这样子的)

  • 演示代码地址:

    • https://github.com/superBiuBiuMan/dva_antd3_component
  • 演示效果

实现

  • 实现的关键其实就是调用getFieldDecorator修饰过后自动向组件传递的onChange事情来传递值,如果需要初始化值操作,可以借助initialValue或者使用 setFieldsValue 来动态设置其他控件的值。
    • initialValue: 初始化值操作,但是如果传入的是一个变量,后期变量更新,组件收到的值也不会变化
      • 比如通过initialValue传入了变量a,值为100,那么后面a的值变为了200,那么组件收到的值依旧是100
    • setFieldsValue: 设置一组输入控件的值(注意:不要在 componentWillReceiveProps 内使用,否则会导致死循环,原因)

(可能会出现)自定义组件校验的问题

  • 自己就懒得说明了,直接贴上这位博主的

    • https://blog.csdn.net/tianxintiandisheng/article/details/105512308
  • 问题:进入页面,直接点击注册按钮,没有触发表单验证,但控制台打印的表单验证的结果

  • 触发自定义校验后,点击注册按钮,触发表单验证,

  • 问题原因:value存在值为undefind的时刻,会导致表单验证不正常
//之前的问题代码
const validateLimit = (rule, value, callback) => {
  console.log('自定义检验', value)
  if (value.length > 2) {
    callback('最多选择2个选项!');
  } else {
    callback();
  }
}


//修改后自定义校验代码
const validateLimit = (rule, value, callback) => {
  // 自定义函数if判断的条件中加入对value的兼容判断
  if (value && value.length > 2) {
    callback('最多选择2个选项!');
  } else {
    callback();
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/618506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux内存管理7——深入理解 slab cache 内存分配全链路实现

1. slab cache 如何分配内存 当我们使用 fork() 系统调用创建进程的时候,内核需要为进程创建 task_struct 结构,struct task_struct 是内核中的核心数据结构,当然也会有专属的 slab cache 来进行管理,task_struct 专属的 slab cac…

iperf3使用

目录 写在前面:带宽和吞吐量安装使用测试TCP吞吐量测试UDP吞吐量测试上下行带宽(TCP双向传输)测试多线程TCP吞吐量测试上下行带宽(UDP双向传输)测试多线程UDP吞吐量 iperf3常用参数通用参数server端参数client端参数 i…

一种星载系统软件定义平台的设计与实现.v3

摘要 针对星载综合射频开放式系统架构,为了在软件综合层面上实现波形应用软件与具体平台的解耦,设计并实现了一种基于软件通信架构(Software Communication Architecture, SCA)的软件平台及其环境工具。通过解决星载平台软件的分…

linuxOPS基础_linux自有服务systemctl

自有服务概述 ​ 服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客户发出请求,这些进程就自动为他们提供服务,windows系统中,把这些自动运行的进程,称为"服务" ​ 举例…

总结888

学习目标: 月目标:6月(线性代数强化9讲2遍,背诵15篇短文,考研核心词过三遍) 周目标:线性代数强化1讲,英语背3篇文章并回诵,检测 每日必复习(5分钟&#xff…

Java 基础第八章: 接口、内部类、包装类

参考资料 :康师傅的视频课 方法 、 有继承的代码块的加载顺序:先执行父类的静态代码块、子类的静态代码块;然后,执行父类的普通代码块和构造器 子类的的普通代码块和构造器; 总结:由父到子,静…

【Web服务器】Nginx之Rewrite与location的用法

文章目录 前言一、正则表达式1. Nginx 的正则表达式2. 正则表达的优势3. Nginx 使用正则的作用 二、location 的概念1. location 和 rewrite 区别2. location 匹配的分类3. location 常用的匹配规则3.1 location 匹配优先级3.2 location 匹配的实例3.3 实际网站规则定义第一个必…

深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

RabbitMQ - 发布确认

RabbitMQ - 发布确认 发布确认逻辑发布确认的策略单个确认发布批量确认发布异步确认发布 发布确认逻辑 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消…

什么时候 MySQL 查询会变慢?

前面几篇文章和小伙伴们聊的基本上都是从索引的角度去优化 MySQL 查询,然而,索引创建的好,并不意味着查询就一定快,影响查询效率的因素特别多,今天我们就来聊一聊这些可能影响到查询的因素。 1. 查询流程 开始今天的…

欢迎来到新世界

(1) 我去年对技术的发展是比较灰心的: 云原生:技术一直动荡,SOA->Servless、Docker->WASM、GitOpsCICDDevOps云计算:在中国从公有云走向了私有云,乃至金融云、国资云、政务云等等N种云Saa…

圆满收官!飞桨黑客松第四期高手云集,四大赛道开源贡献持续升级

2023年2月20日PaddlePaddle Hackathon 飞桨黑客马拉松(以下简称为“飞桨黑客松”)第四期活动发布后,开发者们反响热烈,围绕四大赛道展开了激烈角逐,超过2000位社区开发者参与到飞桨黑客松中,完成800余次任务…

直播教学签到功能(互动功能接收端JS-SDK)

功能概述 本模块主要用于接收和处理讲师、助教和管理员等用户发起的签到操作。 初始化及销毁 在实例化该模块并进行使用之前&#xff0c;需要对SDK进行初始化配置&#xff0c;详细见参考文档。 在线文件引入方式 // script 标签引入&#xff0c;根据版本号引入JS版本。 <…

ChatGPT 和 Bing Chat两者之间的比较,看完你就懂了

目录 一、ChatGPT 1.1 介绍 1.2 特点 1.3 使用场景 二、 Bing Chat 2.1 介绍 2.2 功能特点 2.3 使用场景 三、对比 一、ChatGPT 1.1 介绍 ChatGPT是一款基于人工智能技术的语言模型应用&#xff0c;由美国人工智能研究实验室OpenAI在2022年11月30日推出。该模型是一种…

【深度学习】跌倒识别 Yolov5(带数据集和源码)从0到1,内含很多数据处理的坑点和技巧,收获满满

文章目录 前言1. 数据集1.1 数据初探1.2 数据处理1.3 训练前验证图片1.4 翻车教训和进阶知识 2. 训练3.效果展示 前言 又要到做跌倒识别了。 主流方案有两种&#xff1a; 1.基于关键点的识别&#xff0c;然后做业务判断&#xff0c;判断跌倒&#xff0c;用openpose可以做到。…

干货分享 | CloudQuery 数据保护能力之动态数据脱敏!

在企业数字化转型的过程中&#xff0c;尤其随着互联网、云计算、大数据等信息技术与通信技术的迅猛发展&#xff0c;海量数据在各种信息系统上被存储和处理&#xff0c;其中包含大量有价值的敏感数据&#xff0c;这意味着数据泄露的风险也不断增加。 数据泄露可能由各种因素引…

【项目】实现web服务器

目录 1.需要实现的项目需求&#xff08;web服务器的工作原理&#xff09; 2.实现过程&#xff1a; 1.编写套接字 2.多线程的代码和任务类 3.文件描述符的处理方法的框架 4.读取请求 4.1.读取请求行 4.2.读取请求报头 4.3.分析请求行和报头 请求行的方法、URI、版本…

桌面图标删不掉?试试这几个解决办法!

案例&#xff1a;我想对电脑桌面上的应用进行删除&#xff0c;但是我怎么删也删不掉应用的图标&#xff1f;有人知道这是怎么回事吗&#xff1f;怎样才能成功删除桌面图标&#xff1f;求一个解决办法&#xff01; 有时候我们可能会遇到桌面图标无法删除的困扰&#xff0c;桌面…

【已解决】Macbook pro/Macbook air 电脑过热问题(附软件下载地址)

问题&#xff1a; 今天早上一上班打开我的macbook air&#xff0c;刚开机了十来分钟&#xff0c;就觉得左上角位置特别的热&#xff0c;耳朵凑近风扇处&#xff0c;基本听不到风扇的声音&#xff0c;风扇的转速太慢&#xff0c;导致cpu温度堆积造成温度升高。 解决办法&#…

【JS】1705- 重学 JavaScript API - Fullscreen API

❝ 前期回顾&#xff1a; 1. Page Visibility API 2. Broadcast Channel API 3. Beacon API 4. Resize Observer API 5. Clipboard API 6. Fetch API 7. Performance API 8. WebStorage API 9. WebSockets API ❞ 本文中&#xff0c;我们将探索 Fullscreen API 的概念、使用方法…