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

React 折腾记 - (6) 基于React 16.6 + Antd 3.10.7封装的一个声明式的查询组件

---- 抽离思路及实现 思路 合并props传递的,尽可能的减少传递的东西(在组件内部实现默认合并),把渲染的子组件通过遍历json去实现; 整个查询区域用的antd表单组件,聚合所有表单数据(自动双向绑定...,设置默认等); 为了降低复杂度,子组件不考虑dva来维护状态,纯靠props和state构建,然后统一把构建的表单数据向父级暴露.....根据ctype渲染的控件有Input,Button,Select,DatePicker,Cascader,Radio 允许传递的props有三个,所有props均有默认,传递的会合并进去 data:..., Card, Cascader, Radio, Icon, } from 'antd'; const { MonthPicker, RangePicker } = DatePicker...(若是用ts的小伙伴,运行时类型推断比这个强大的多,还不会打包冗余代码) 没发布npm , 只是提供我写的思路,对您有没有帮助,见仁见智 依赖moment,antd 可以自行拓展的点 比如垂直展示 比如表单校验

2.6K10

React 16.x折腾记 - (6) 基于React 16.x+ Antd 3.x封装的一个声明式的查询组件(实用强大)

前言 最近把新的后台系统写好了..用的是上篇文章的技术栈(mobx+react16); 但是感觉mobx没有想象的好用,看到umi 2.x了,就着手又开始重构了。...抽离思路及实现 思路 合并props传递的,尽可能的减少传递的东西(在组件内部实现默认合并),把渲染的子组件通过遍历json去实现; 整个查询区域用的antd表单组件,聚合所有表单数据(自动双向绑定...,设置默认等); 为了降低复杂度,子组件不考虑dva来维护状态,纯靠props和state构建,然后统一把构建的表单数据向父级暴露.....resetSearchForm 函数 回调函数,当重置表单数据的时候 autoSearch 布尔 启动非input的控件自动触发提交的props函数 数据源格式 data的数据格式基本和antd要求的格式一致...渲染的数据这些 return { data: newData, prevData: nextProps.data }; } return null; } // 清除表单数据字符串的两边的空格

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

前端自动化测试

前言 本文主要是介绍基于React+Ant Design(以下用Antd表示Ant Design)的项目,在对于自己封装的,或者基于Antd封装的公共组件的自动化测试技术的选型和实践。...Enzyme:源自Airbnb,封装了React官方测试API,类Jquery风格简洁的API, 使得Dom操作变得十分友好 综合目前市面上的轮子,我们技术选型为Jest+Enzyme 实践 例子是一个基于Antd...toBe: 验证两个是否 === 完全相等 toHaveLength:验证长度 toBeDefined: 验证一个是否被定义 toContain: 验证一个list是否包含某一项 toBeCalled...this.onChange} defaultValue={moment('2015/01/01', 'YYYY')} /> ); } } describe('DatePicker...即检查输入框的是否为默认 测试清除按钮是否可用,通过模拟点击清除按钮,测试是否能按照预期清除输入框内填充的默认 测试设置,点击输入框,弹出选择框,选择,检查输入框是否为选择的

1.9K20

Ant Design Vue使用记录,持续记录

,每个输入型组件都可以通过v-decorator自定义自己的行为(表单验证等)。...setFieldsValue设置表单默认,必须在Form渲染之后进行,必须和参数对应,参数数量只能少或者相对相等,不能多。...pagination,绑定的分页组件,https://antdv.com/components/pagination-cn/ 表格列描述对象(Column): dataIndex,对应数据对象哪一个数据...slots,使用 columns 时,可以通过该属性配置支持 slot 的属性, slots: { filterIcon: 'XXX'},代表这个在表格内可以使用插槽名为XXX的插槽来代替filterIcon...3.datepicker汉化无效 Antd-design-vue 2.x  ,使用datepicker选择器在vite工具下,中文设置无效的解决办法(大概原因是中文语言包没有被正常引入,只能强行设置中文

5K30

实现一个简单的表单校验器

问题提出: 最近笔者在用React+antd做管理后台系统需求的时候,碰到了一个问题,就是在同一个antd的FormItem下面有多个子数据,那么在表单校验的时候某个数据一旦出错,整个FormItem下面的表单组件都会标红...解决方法: Form表单下面是不能嵌套Form表单的,所以笔者试着自己写了一个简单的表单校验器。虽然有点简陋,但感觉也还有点意思,与大家分享一下。...// values为该字段的父字段的。...} @autobind clearFields() { // 用来清除校验信息 } } 看到这里,聪明的你也许已经看穿了一切了,如果有兴趣,可以照着这个思路,自己把细节实现一下...这里我没有自己写的样式,是直接用的antd表单校验的样式。

97010

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

本文的重点为 Form 表单的校验及在数栈的应用,偏向于应用总结与心得分享。...四、表单校验(ValidateFields) 说完了 FormItem,现在转头来看看 ValidateFields,两个例子demo演示 下图是antd关于validataFields的用法介绍,复习一下...校验表单所有字段 这是在数栈用的比较高频的,一般在提交表单的数据时,先对当前所有表单域进行校验,只有全部通过校验才能进行下一步操作。(调接口、联动等操作) 2....问题分析:从 antd 的使用角度来讲,有域错误时不应当再继续进行后续操作,但存在这种极限情况,问题是由于自定义校验结果产生,而此自定义校验是存在时效性的,所以此时我们应该让自定义校验具有准确性,使用...首先是存在多层 form 嵌套的问题,也就是说同一个页面里可能还包含或嵌入多个 form 表单,类似问题的核心就在于如何在一个页面拿到当前容器的 form 实例和嵌套的 form 示例。

2.1K20

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

本文的重点为 Form 表单的校验及在数栈的应用,偏向于应用总结与心得分享。...四、表单校验(ValidateFields) 说完了 FormItem,现在转头来看看 ValidateFields,两个例子demo演示 下图是antd关于validataFields的用法介绍,复习一下...校验表单所有字段 这是在数栈用的比较高频的,一般在提交表单的数据时,先对当前所有表单域进行校验,只有全部通过校验才能进行下一步操作。(调接口、联动等操作) 2....问题分析:从 antd 的使用角度来讲,有域错误时不应当再继续进行后续操作,但存在这种极限情况,问题是由于自定义校验结果产生,而此自定义校验是存在时效性的,所以此时我们应该让自定义校验具有准确性,使用...首先是存在多层 form 嵌套的问题,也就是说同一个页面里可能还包含或嵌入多个 form 表单,类似问题的核心就在于如何在一个页面拿到当前容器的 form 实例和嵌套的 form 示例。

1.3K20

阿里计算平台事业部前端实习 offer 面经

面试官花名执衡, 是 ng-zorro-antd 的主力开发者之一....因为这个部门在开发 ng-zorro-antd, 而我的 GitHub 上也有一些前端组件开发的项目, 所以基本上都是围绕这一方面问的....讲了一下印象最深刻的一个组件的设计, Dialog, 讲了讲 API 的修改和组件之间的解耦 DatePicker 是怎么实现的 如何实现一个 clickoutside 效果 如果弹出的菜单的位置过于贴近边框...技术二面 对于学校的项目问了很多问题, 比如你觉得有哪些比较缺憾的, 遇到了什么问题, 如何解决, 如何解决工程遇到的一些问题, 项目用了什么样的技术栈....第一步二分找到最大, 第二步普通二分查找. HR 面 感觉没有什么特别之处, 正常交流即可.

93040

react模态框表单总结

antd表单操作比较细致,功能较多,我们工作中常用的无非增加内容的表单和编辑的表单,增加内容的表单初始化时,大部分默认为null的装填,偶尔有一些需要设置初始性别或者一些必选属性。...编辑表单需要获取原来的内容然后初始化,react框架一般会有两种模式来初始化:一种是绑定form,初始化一个filed类似const [form] = Form.useForm();然后将这个绑定到...antd中提供了第二种模式,我们可以使用initvalue设置初始,此时表单初始化时会根据这个来初始化表单,所有初始化的操作都是根据这个。...还有就是表单提交时,是使用表单上form的事件,还是从form中提取值后在提交,也是有选择的,前者可以用绑定form的form获取表单数据,后者可以绑定form的事件,前者的话数据验证再提交函数,后者的话可以根据...antd的框架特性在formitem上设置rules来做校检,并且显示提示信息。

5710

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

Form 从 v3 到 v4:https://sourl.cn/7TiRfp ● Form.create() 在 3.x 表单任意一项的修改,都会导致 Form.create () 包裹的表单重新渲染...● shouldUpdate 前面有说过,form 表单不再会因为表单内部某个的改变而重新渲染整个结构,而设有 shouldUpdate 为 true 的 Item,任意变化都会使该 Form....升级之后,Form 表单在数栈的应用发生了较大的变化,从老版本的 label/component 横向排版改为了纵向改版,在横向空间不⾜的情况下,使⽤上下结构能有效提⾼填写表单的效率。...3)onSelect 清空了,又会被 onChange 赋值回来。 ・模块复用 在新版的 rc-select antd 官方抽取了一个 generator 方法。...在项目中经常在 TreeItem 增加参数,:。

4K30

TDesign 更新周报(2022 年 5 月第 1 周)

Vue2 for Web 发布 0.14.2 版 Feature Table:新增 APIellipsisTitle 用于单独控制表头的超出省略 Tooltip:placement新增mouse枚举,...:修复weekday英文翻译的顺序问题 Others Table:TS 类型全部移入 interface.ts 文件,并导出 Calendar:对value属性功能进行修正,新增month和year属性...github.com/Tencent/tdesign-vue/releases/tag/0.41.2 Vue2 for Web 发布 0.14.1 版 Features Message:增加全局配置默认能力...Transfer:修复选择无效和搜索无效 DataPicker:data-picker增加apply事件 Input:修复input组件clearable问题 TreeSelect:修复右侧箭头状态与清除回掉...修复顶部菜单栏下拉菜单与表单层级问题 详情见:https://github.com/Tencent/tdesign-vue-next-starter/releases/tag/0.3.0 小程序上架微信开发者工具

5.3K50

TDesign 更新周报(2022年9月第1周)

SelectInput 的数据变成的数组 (vue-next #1502)修复 ellipsisTitle 配置优先级低于 ellipsis 的问题 @Tomaolala (#1408)SelectInput: 修复多选清除无效导致... Cascader 点击清除按钮表现异常的问题 @pengYYYYY (#1457)Watermark: 修复 removable 属性设置不生效,及 content 不支持动态修改变化的问题 @carolin913...Nofitication: 修复 classname 透传问题,closebtn/icon 无法支持 bool 设置 @carolin913 (#1417)Table:修复 editableCellState 返回与期望相反问题...loading状态的样式问题 @uyarn (#1437)Form:兼容 FormItem 未定义字段调用 setFields 方法异常场景 @HQ-Lin (#1394)禁用 input 输入框回车自动提交表单...overlayProps 属性透传至 Overlay 组件 @LeeJim (#822)Icon: name 支持图片链接 @anlyyao (#828)Tabs: change 和 click 事件返回 label 的

2.6K20
领券