当前位置: 首页 > news >正文

中国人做外贸网站都卖什么手续seo教程自学入门教材

中国人做外贸网站都卖什么手续,seo教程自学入门教材,网站建设不一定当地,湛江网站建设低价推荐项目需求: 在使用ant design form动态增减表单项Form.List时,Form.List中有多组表单项,一组中的最后一个表单项的校验规则是动态的,该组为最后一组时,最后一个表单项是非必填项,其他时候为必填项。假设动态…

        项目需求:

        在使用ant design form动态增减表单项Form.List时,Form.List中有多组表单项,一组中的最后一个表单项的校验规则是动态的,该组为最后一组时,最后一个表单项是非必填项,其他时候为必填项。假设动态增加了两组表单项,均为填写内容,在必填项校验被触发后,删除了第二组表单项,此时仅剩一组表单项,想要最后一个表单项的校验状态不再显示必填项提示。如下图所示:

想要的效果,最后一个表单项不显示必填项提示:       

        解决思路:

        使用动态校验规则,获取到最后一组的索引,使用form.validateFields重新触发校验规则。

        代码如下:

import React, { useState } from 'react';
import { Form } from 'antd';const App = () => {const [lastIndex, setLastIndex] = useState(false); // form表单最后一组数据的索引const [form] = Form.useForm();useEffect(() => {// 减少表单项时,重新触发表单验证,使form最后一组中最后一个表单项的验证状态不再显示必填项提示form.validateFields([['configs', lastIndex, 'lastFormOption']]);}, [lastIndex, form]);return (<Form form={form} initialValues={{ configs: [{}] }} >……<Form.List name="configs">{(fields, { add, remove }) => (<>{fields.map(({ key, name, ...restField }, index) => {// 这里获取最后一组表单项索引setLastIndex(fields.length - 1);return (<Rowkey={key}>……<Col span={5}><Form.Item{...restField}name={[name, 'lastFormOption']}rules={[{required: (fields.length - 1) == index ? false : true,message: '请选择……',},]}><Selectoptions={options}disabled={(fields.length - 1) == index}placeholder="最后一条自定义条件为非必填项"/></Form.Item></Col><Col span={2}><MinusCircleOutlined onClick={() => remove(name)} /></Col></Row>)})}<Form.Item ><Button type="dashed" onClick={() => add()} block icon={<PlusOutlined />}>新增</Button></Form.Item></>)}</Form.List></Form>);
};
export default App;

        上述解决方式中,如果App作为一个子组件用到了ForwardRef,会出现下面的告警:

        Warning: Cannot update a component (`ForwardRef(AddRemoveFormItems)`) while rendering a different component (`Field`). To locate the bad setState() call inside `Field`, follow the stack trace as described……

        解决方案:去掉setLastIndex(fields.length - 1);等相关代码,将规则校验放在删除表单组的操作中。代码如下:

<MinusCircleOutlined style={{ fontSize: 24 }} onClick={() => {remove(name);form.validateFields();
}} />

http://www.yayakq.cn/news/699074/

相关文章:

  • 廊坊哪里能够做网站网站制作带优化
  • 庆阳市西峰区做网站网站策划工作条件
  • 高邮市建设局网站深圳最好的网站开发公司电话
  • 帝国cms做门户网站怎么做国外的网站推广
  • 怎么查询网站备案接入商c 怎么和网站做交互
  • 找做网站的个人自己做优惠劵网站
  • 建设部的网站首页企业策划公司
  • 网站优化的基本思想wordpress插件如何汉化
  • wordpress网站没有阅读量做淘宝网站需要什么
  • 做网站界面多少钱golang和wordpress
  • 私人网站服务器个人网站模板吧
  • 论坛网站制作教程产品开发流程文件
  • 怎么删除网站死链温州 网站
  • 山东省住房和城乡建设网站网页模板素材照片
  • 官方网站下载打印机的驱动中国城乡建设经济研究所 网站
  • 林州网站建设公司vi设计公司排行
  • 北京企业网站小程序搭建公司
  • 十大外贸网站网站建设的公司哪家是上市公司
  • 做爰片在线看网站有赞分销模式佣金
  • 天猫网站建设的意义南京发布最新消息
  • phpcms网站打不开南阳网站排名优化公司
  • 做网站需要哪方面的编程赣州市住房和城乡建设局网站
  • cms网站建设教程如何在线制作印章
  • html后缀的网站物流网站建设方案
  • 网站开发主要工作内容怎么注销建设银行网站用户
  • 唐山网站托管wordpress 微博链接
  • 消防器材网站建设背景建网站有哪些步骤
  • 建设银行官网首页网站购纪念币成都html5网站设计
  • 哪家建站好我做网站编辑写文章很慢怎么办
  • phpnow 搭建本地网站wordpress顶部图片轮播