首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Form 表单在数栈应用(上): 校验篇

三、表单校验(FormItem) 首先来看看 antd 提供两种基础表单校验方式 /* *** 「声明式」表单校验 *** */ <Form.Item {...formItemLayout...校验表单所有字段 这是在数栈用比较高频,一般在提交表单数据时,先对当前所有表单进行校验,只有全部通过校验才能进行下一步操作。(调接口、联动等操作) 2....问题分析:从 antd 使用角度来讲,有错误时不应当再继续进行后续操作,但存在这种极限情况,问题是由于自定义校验结果产生,而此自定义校验是存在时效性,所以此时我们应该让自定义校验具有准确性,使用...首先是存在多层 form 嵌套问题,也就是说同一个页面里可能还包含或嵌入多个 form 表单,类似问题核心就在于如何在一个页面拿到当前容器 form 实例和嵌套 form 示例。...5. table 与 form 碰撞 (组件联动校验) 业务场景:数栈其实存在各种与 form 联动案例,笔者取 数据资产 (data-assets-front) 项目为例,在 table 动态插入单条数据并实现可自定义校验内容

2.1K20

Form 表单在数栈应用(上): 校验篇

三、表单校验(FormItem) 首先来看看 antd 提供两种基础表单校验方式 /* *** 「声明式」表单校验 *** */ <Form.Item {...formItemLayout...校验表单所有字段 这是在数栈用比较高频,一般在提交表单数据时,先对当前所有表单进行校验,只有全部通过校验才能进行下一步操作。(调接口、联动等操作) 2....问题分析:从 antd 使用角度来讲,有错误时不应当再继续进行后续操作,但存在这种极限情况,问题是由于自定义校验结果产生,而此自定义校验是存在时效性,所以此时我们应该让自定义校验具有准确性,使用...首先是存在多层 form 嵌套问题,也就是说同一个页面里可能还包含或嵌入多个 form 表单,类似问题核心就在于如何在一个页面拿到当前容器 form 实例和嵌套 form 示例。...5. table 与 form 碰撞 (组件联动校验) 业务场景:数栈其实存在各种与 form 联动案例,笔者取 数据资产 (data-assets-front) 项目为例,在 table 动态插入单条数据并实现可自定义校验内容

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈表单受控性及结合Hooks应用

使用场景: 需要对用户输入进行验证和处理表单 需要实时反映用户输入表单 需要根据表单元素动态地改变其他组件状态或行为等情况时会使用到受控表单 示例代码: import React, { useState...不需要处理 state 变化,可以减少代码量。 使用场景: 对于简单表单,不需要对用户输入进行验证和处理。 需要获取表单元素进行一些简单操作,发送请求或更改 URL 等。...可以实时验证和处理用户输入 不利于实时反映用户输入,不方便对用户输入进行验证和处理 表单整体控制 对表单数据有更好控制 对表单数据控制有限 数据流 可以根据表单元素动态地改变其他组件状态或行为...到 ant4 差异为例 antd3 form 组件设计思想: 使用HOC(高阶组件)包裹 form 表单,HOC 组件 state 存储所有的控件 value ,定义设置和获取值方法 存在缺陷...一个表单控件 value 改变,便会影响整个表单查询渲染 antd4 form 组件设计思想: 使用 Context 包裹 form 表单,并在 useForm() 时创建一个 FormStore

19810

详细剖析|袋鼠云数栈前端框架Antd 3.x 升级 4.x 踩坑之路

Form 从 v3 到 v4:https://sourl.cn/7TiRfp ● Form.create() 在 3.x 表单任意一项修改,都会导致 Form.create () 包裹表单重新渲染...● shouldUpdate 前面有说过,form 表单不再会因为表单内部某个改变而重新渲染整个结构,而设有 shouldUpdate 为 true Item,任意变化都会使该 Form....通过这次 UI 升级和 antd 升级之后,Form 表单在数栈应用发生了较大变化,从老版本 label/component 横向排版改为了纵向改版,在横向空间不⾜情况下,使⽤上下结构能有效提...3)onSelect 清空了,又会被 onChange 赋值回来。 ・模块复用 在新版 rc-select antd 官方抽取了一个 generator 方法。...在拖拽等回调中就可以通过 nodeData.props.data 方式获取到 data 。但在 antd4 ,获取参数数据结构发生了改变,原先直接通过 props 点出来不行了。

4K30

antd3.xform

最近在维护公司台erp系统,项目中js库用是react,ui库用antd。平时还是喜欢自己写css,刚开始还是有点不太习惯直接上ui库做项目,觉得用antd还是挺恶心,主要是form。...react缺少类似vuev-model这样双向绑定机制, 所以在做表单时候需要手动监听keyup,input,blur这一类事件,会显得稍微麻烦一些。...而antdform则出了一个类似v-model类似方法。它不仅仅提供了双向绑定功能,而且它还具有校验,取值,赋值,重置,数据搜集,提交功能。...antd官网 双向绑定:getFieldDecorator 用法:该方法用在表单里面,通过this.props.form.getFieldDecorator(id, options)进行使用,其中...err){ return; // 这里是通过校验执行,未通过则会在对应表单进行提示 } } ) 重置表单:resetFields this.props.form.resetFields

2.1K30

​Ant Disign 4.0 升级实践扑街指南 (一)

就挑了个简单, 一个Form表单页。 v3 与v4表单差别还是挺大。...Form 组件现在自带数据,因而 getFieldDecorator 也不再需要,直接写入 Form.Item 即可: // antd v3 const Demo = ({ form: { getFieldDecorator...表单控制调整 Form 自带表单控制实体,如需要调用 form 方法,可以通过 Form.useForm() 创建 Form 实体进行操作: // antd v3 const Demo = ({ form...editors=0011 在官网, 也找到了这样描述: 在 v3 版本,修改未操作字段 initialValue 会同步更新字段,这是一个 BUG。...在 v4 ,该 BUG 已被修复。initialValue 只有在初始化以及重置表单时生效。 所以, initialValue 只能作为组件初次挂载时候生效。

1.4K10

​年终盘点: 复盘20+基于React开源管理后台&插件

(布尔、数字、富文本等)大型组件库。...Antd组件风格简洁、易用、美观,同时提供了灵活主题定制和国际化支持,是一个非常优秀UI组件库。 项目特性: 提炼自企业级后台产品交互语言和视觉风格。...16.Notus React Notus React 是免费和开源。它不会更改 Tailwind CSS 任何 CSS。..., body参数 parameter参数 path参数,动态请求头,请求前后拦截 路由按需加载,首屏加载超快 扩展了antd写了许多实用UI,通过一个配置即可生成,后台CRUD三件套(数据表格,搜索框...作为开发人员,您提供数据库模型(帖子、评论、商店、产品或您应用程序使用任何其他内容),AdminJS 生成允许您(或其他受信任用户)管理内容 UI。

48910

react模态框表单总结

antd表单操作比较细致,功能较多,我们工作中常用无非增加内容表单和编辑表单,增加内容表单初始化时,大部分默认为null装填,偶尔有一些需要设置初始性别或者一些必选属性。...antd中提供了第二种模式,我们可以使用initvalue设置初始,此时表单初始化时会根据这个来初始化表单,所有初始化操作都是根据这个。...还有就是表单提交时,是使用表单上form事件,还是从form中提取值后在提交,也是有选择,前者可以用绑定formform获取表单数据,后者可以绑定form事件,前者的话数据验证再提交函数,后者的话可以根据...antd框架特性在formitem上设置rules来做校检,并且显示提示信息。...表单如果是放在模态框,那么当模态框显示时,需要得到要显示数据,或者要确定是那一条数据,一般情况下我会再当前组件设置一个currentData来指代当前数据,并将其传入模态框,并且将visibale

5710

Angular 结合 NG-ZORRO 快速开发

思路: 先添加页面 user 用户列表页面,使用 ng-zorro table 组件 用户新增和更改页面可以共用同一个页面,使用 ng-zorro form 组件 页面删除功能直接使用弹窗提示...router-outlet> 菜单展示,如果我们需要做权限管理的话,是需要后端配合进行传...这两个功能是公用一个表单~ 我们在 html 添加: // user-info.component.html <form nz-form [formGroup]="validateForm" class...,将其设置为 false ,表示是编辑状态,对内容进行表单回填。...提交表单操作也是按照该标志符进行判断。我们直接对 localStorage 信息进行变更,以保证同步列表信息。 删除功能 我们引入模态对话框进行询问是否删除。

1.7K10

React进阶(3)-上手实践Redux-如何改变store数据

文章内容略有些长,建议扯纸时间阅读,比较基础,理解有误,欢迎路过老师多提意见和指正 下面就一起来编写todolist添加,删除等代码,最终效果图如下所示 ?...,第二种方法比较强大,推荐使用,这种配置完后,在各个浏览器都是可以使用,至于其他一些额外拓展功能,在后续文章,会不断会讲到 具体更改store实例代码如下所示: import React from...,是一个对象,type字段是确定要做动作,类型,监听表单输入框变化,value是输入框 const action = { type: 'handle_Input_Change...通过上面新添加action代码,实现一个更改store数据,并达到了与页面更新操作 再次来梳理一下更改store数据一个过程,经历了哪些具体操作 1....(reducer) 真正新老房信息变更操作都是在reducer这个函数完成,并且它是一个纯函数,必须要有返回 在Reducer函数,接收两个参数,第一个是上一次组件状态,而第二个是组件具体动作

2.1K20

Antd Form 实现机制解析

背景 “在后台业务表单页面基础场景包括组件收集、校验和更新。...在 to B 业务表单页面的需求往往更复杂和定制化,除了上述基本操作,还要处理包括自定义表单组件、表单联动、表单异步检验等复杂场景,在一些大型表单页面还要考虑性能问题,表单页面的需求往往是新同学摔得第一个跤...具体到真实业务场景,往往更复杂,其中包含多种表单组件, Input、Checkbox、Radio、Upload,还有一些自定义表单组件。 ?...在子组件 Render 执行过程, getFieldDecorator 方法从 fieldStore 读取实时表单数据以及校验信息,并通过注入 value 或者 valuePropName 设定属性来更新表单...Antd Form 具有很好灵活性,可以帮我们快速实现表单需求,但是也存在一些问题,比如当表单任何一个组件发生改变,触发 onCollect 数据收集、执行更新流程,都会调用 forceUpdate

2.6K20

结合Ant Design2.x总结在实际项目开发遇到问题

,key是你在使用Form时通过getFieldDecorator 方法与表单进行双向绑定时参数id,详见ant文档Form使用方法 帮我们保存很好,但是当我们点击删除时会不会出现什么问题?...使用Form组件后删除时会出现问题及解决方法 ? 可以看到直接删除demoData[i] 无论我们删除第几项 表单数据始终是“删除”最后一项。...其实表单数据并没有被删除 只是没有缺少key去承接最后一个value而已 解决办法有两种: 一种是删除时手动将formkey也向上移动一位,例如:删除第一项,写一个方法将Flows0_name赋值为...如何实现一个受控选择树和遇到问题及解决方法 项目需要一个这样树: 每一个树节点都代表是一个职级,所以子节点全选中不代表父节点选中,父节点选中代表子节点全选中,这个时候Antd树组件就不满足我们项目的需求了...(写时遇到坑)写这样受控树时不要用Form了,因为勾选时想给自己setFiledValue是不支持,上网查是因为 “antdform表单setFieldsValue只能设置其他,不能控制自己表单

1K20

【架构师(第二十五篇)】编辑器开发之属性编辑区域表单渲染

---- 更新属性过程 点击某一个组件,选中组件 将它属性以不同类型表单呈现在右侧区域 编辑表单,在值更新同时,将数据更新到界面 获取正在编辑元素属性 组件外套一层 wrapper...通过 commit 更新 store 状态 store 接收组件 id,计算当前组件属性 Editor.vue 接收当前组件属性,并渲染在界面上 EditWarpper.vue <component :value="item?.value" :is="item?....<em>如</em>最大<em>值</em>,行数等 有的组件需要被其它组件包裹使用,需要兼容这种复杂组件 支持转换传入组件库属性<em>的</em>类型 支持自定义属性名称 editor.ts 修改一下初始数据 // 测试数据 const testComponents...-- 使用 <em>antd</em> 组件库<em>中</em><em>的</em>组件 --> <component v-if="item.valueProp"

67610

React进阶(3)-上手实践Redux-如何改变store数据

,第二种方法比较强大,推荐使用,这种配置完后,在各个浏览器都是可以使用,至于其他一些额外拓展功能,在后续文章,会不断会讲到 具体更改store实例代码如下所示: import React from...,是一个对象,type字段是确定要做动作,类型,监听表单输入框变化,value是输入框         const action = {             type: 'handle_Input_Change...随之创建一个实时记录本(reducer) 真正新老房信息变更操作都是在reducer这个函数完成,并且它是一个纯函数,必须要有返回 在Reducer函数,接收两个参数,第一个是上一次组件状态...,是一个对象,type字段是确定要做动作,类型,监听表单输入框变化,value是输入框         const action = {             type: 'handle_Input_Change...,是一个对象,type字段是确定要做动作,类型,监听表单输入框变化,value是输入框         const action = {             type: 'handle_Input_Change

2.5K30

腾讯灯塔DataTalk可视化平台之——组件设计

这里你只需要从左侧拖入到画布即可,在配置你想要数据,图形就可以显示在画布当中。 03 功能组件 容器,占位组件等。...#3 组件逻辑 不同种类组件是通过vue动态component组件,配合上面JSON【component】字段即可完成渲染,而组件内部逻辑只需要在其内部编码即可,对于渲染展示等逻辑只需要通过...对于复杂表单,比如上面最后一张图中(下图左): 其实这里也是一份JSON配置,而组件就是基于antd基础组件库而已(上图右)。 所以这里再次强调:配置化生成UI, JSON To UI。...,分组,format等 · styleEditor:样式配置,主要针对组件本身样式,颜色,标题等配置 config.js:主要针对于组件在画布各种配置,icon,名称,初始大小,默认等 tips.js...vue组件,一般为index.vue config.js:主要是针对于组件在画布各种配置,icon,名称,初始大小,默认等 tips.js:用于在画布对于组件tips信息展示,以及指标维度配置条件

2.1K31

何在SpringMVC中使用REST风格url

何在SpringMVC中使用REST风格url 1.url写法: get:/restUrl/{id} post:/restUrl delete:/restUrl/{id} put:/restUrl...method=RequestMethod.GET,表明这是一个处理get请求目标方法 2.通过@PathVariable("id") Integer id注解,将url{id}取出,并赋值给该注解修饰入参...method=RequestMethod.PUT,表明这是一个处理put请求目标方法 2.url不需要带有参数{id} 3.如果需要使用@ModelAttribute来进行一些修改前操作(:先去数据库查询一个实体...}/user/restUrl/{id}">get user 注意: 1.这里{id}不能直接写{id},而是你要动态赋值 2)post请求: <form action="${pageContext.request.contextPath...,将<em>表单</em><em>的</em>post请求,转换成delete请求 2.在<em>表单</em><em>中</em>添加一个隐藏<em>域</em>,能让<em>表单</em>在提交<em>的</em>时候将请求转换成

1.4K50
领券