首页
学习
活动
专区
圈层
工具
发布

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

前言 最近把新的后台系统写好了..用的是上篇文章的技术栈(mobx+react16); 但是感觉mobx没有想象中的好用,看到umi 2.x了.就着手又开始重构了......---- 抽离思路及实现 思路 合并props传递的值,尽可能的减少传递的东西(在组件内部实现默认值合并),把渲染的子组件通过遍历json去实现; 整个查询区域用的antd表单组件,聚合所有表单数据(自动双向绑定...,设置默认值等); 为了降低复杂度,子组件不考虑dva来维护状态,纯靠props和state构建,然后统一把构建的表单数据向父级暴露.....内部的state默认初始化都为空[antd对于日期控件使用null来置空],外部初始化可以用getFieldDecorator的initialValue,已经暴露 ---- 实现的功能 支持的props...data的数据格式基本和antd要求的格式一致,除了个别用来判断或者渲染子组件的, 字段解释: ctype(controller-type:控件类型) attr(控件支持的属性) field(受控表单控件的配置项

2.9K10

Form 表单在数栈的应用(下):深入篇

有以下两个作用,可在 createBaseForm.js 文件的 getFieldProps 和 getFieldValuePropValue 方法中分别验证: 在初始化数据字段时将数据字段放到 fieldsStore...中; 挂载 props 到输入组件上时会从 fieldsStore中读取数据字段。...return pending; } 再看 validateFieldsInternal 方法的代码,它会从 fieldsStore 中获取 rules 和数据 fields 的值,校验后将错误信息分别存储到对应的...供开发者调用; 2、通过 getFieldDecorator 初始化表单的属性和值,达到双向绑定的效果; 3、校验通过,把数据存到 fieldsStore 中;校验不通过,把 error 存到 fieldsStore...2.1 getFieldDecorator /** * 实现 getFieldDecorator 方法 * 初始化时将 initialValue 赋值给输入框的 value * 输入框变化时可以拿到

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

    数栈技术文章分享:你居然是这样的initialValue

    一、initialValue的出处和定义 initialValue的出处: AntDesign/Form表单件/getFieldDecorator(id,options)装饰器函数/第二个参数options...用户手动更新表单数据,比如在组件中手动输入,在组件中手动选择等等,在用户手动更新数据之后,initialValue的值改变不会更新表单值。 2....下面的例子中在生命周期函数componentDidMount中执行了setFieldsValue方法,其他不变,你会发现不管怎么点击“重新获取数据按钮”,城市对应的值都不会被更新,而总量对应的值却一直在更新...如果你手动改变总量的输入,再点击“重新获取数据按钮”,此时城市和总量的值都不会被更新。...数栈是云原生—站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据

    1.3K10

    Form 表单在数栈的应用(下):深入篇

    有以下两个作用,可在 createBaseForm.js 文件的 getFieldProps 和 getFieldValuePropValue 方法中分别验证: 在初始化数据字段时将数据字段放到 fieldsStore...中; 挂载 props 到输入组件上时会从 fieldsStore中读取数据字段。...return pending; } 再看 validateFieldsInternal 方法的代码,它会从 fieldsStore 中获取 rules 和数据 fields 的值,校验后将错误信息分别存储到对应的...供开发者调用; 2、通过 getFieldDecorator 初始化表单的属性和值,达到双向绑定的效果; 3、校验通过,把数据存到 fieldsStore 中;校验不通过,把 error 存到 fieldsStore...2.1 getFieldDecorator /** * 实现 getFieldDecorator 方法 * 初始化时将 initialValue 赋值给输入框的 value * 输入框变化时可以拿到

    1.2K20

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

    前言 最近把新的后台系统写好了..用的是上篇文章的技术栈(mobx+react16); 但是感觉mobx没有想象中的好用,看到umi 2.x了,就着手又开始重构了。...去实现; 整个查询区域用的antd表单组件,聚合所有表单数据(自动双向绑定,设置默认值等); 为了降低复杂度,子组件不考虑dva来维护状态,纯靠props和state构建,然后统一把构建的表单数据向父级暴露...内部的state默认初始化都为空[antd对于日期控件使用null来置空],外部初始化可以用getFieldDecorator的initialValue,已经暴露 实现的功能 使用姿势 数据的时候 autoSearch 布尔值 启动非input的控件自动触发提交的props函数 数据源格式 data的数据格式基本和antd要求的格式一致...// 清除表单数据中字符串的两边的空格 // 若是key为空数组则跳过 removeNotNeedValue = obj => { // 判断必须为obj if (!

    68510

    表单数据形式配置化设计

    表单数据形式配置化设计 https://www.zoo.team/article/form-data 前言 在日常的中后台系统开发中,表单是和我们打交道非常多的名词。...其次表单一般都存在编辑页和详情页,而为了代码更好的维护性通常会将编辑和详情用一套代码实现。此时我们的代码里就会出现 isEdit ?表单组件 :纯文本”这样无脑且重复率高的代码。...obj.name || '-' : getFieldDecorator('name', { initialValue: obj.name,...,无论是在详情页中显示文本亦或是编辑页中的表单组件包裹的数据,其实本身所对应的都是同一个数据,只是展示形式不一样而已。...在这里我们暂时将数据的形式定为表单组件形式与文本形式。其实在实际的使用中,由于数据的收集形式不同,会出现第三种数据形式。

    1.3K20

    从Bing图片搜索JSON API直接获取数据

    在深入技术细节之前,让我们先理解这种方法的战略优势:极高的效率:API 返回的是纯数据(JSON 格式),通常只有几十KB,而不需要下载数百KB的 HTML、CSS 和 JavaScript 文件。...获取元数据:通过 API 往往能获得比网页展示更丰富的元数据,如图片的原始尺寸、创建时间、作者信息等。易于分页:API 通常提供标准的分页参数,可以轻松地获取大量数据。...过滤请求:在筛选器中输入 "json" 或 "api",然后滚动图片搜索结果页面。识别 API 请求:你会观察到一些包含 "search" 或 "api" 的请求,其响应类型为 JSON。...keyword: str) -> List[Dict]: """ 从 API 返回的 HTML 片段中解析图片数据 Args:...健壮性保障完善的异常处理机制请求重试和超时控制详细的日志记录4. 数据完整性保存完整的图片元数据到 JSON 文件使用 MD5 哈希确保文件名唯一性保留原始 API 返回的所有元数据

    34910

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

    袋鼠云数栈从 2016 年发布第⼀个版本开始,就始终坚持着以技术为核⼼、安全为底线、提效为⽬标、中台为战略的思想,坚定不移地⾛国产化信创路线,不断推进产品功能迭代、技术创新、服务细化和性能升级。...在 4.x 中,不在需要 getFieldDecorator 对 Item 进行包裹。...・历史问题 initialValue 从字面意来看,就是初始值 defaultValue,但是可能会有部分同学使用他的时候会误以为 initialValue 等同于 value。...onChange 又未对 size 做处理,会导致底部分页器 pageSize 和数据对不上,因此需要各自排查 Table 的 pagination 和 Pagination 组件,和请求列表接口的参数...在拖拽等回调中就可以通过 nodeData.props.data 的方式获取到 data 的值。但在 antd4 中,获取参数的数据结构发生了改变,原先直接通过 props 点出来的不行了。

    4.9K30

    最熟悉的陌生人 rc-form

    “我们都知道 React 框架设计模式和 Vue 不同,Vue 中作者已经帮我们实现了数据的双向绑定,数据驱动视图,视图驱动数据的改变,但是 React 中需要我们手动调用 setState 实现数据驱动视图的改变...主要 Api 简要说明 Api 名称 说明 类型 getFieldDecorator 用于和表单进行双向绑定, Function(name) getFieldsValue 获取一组字段名对应的值,会按照对应结构返回...中的 getFieldMeta 获取表单组件的配置数据,兼容原有组件的配置属性以及对不支持 ref 组件的处理,最终返回一个克隆后的挂载处理后的一些配置对象的组件!...fieldsStore 既然用到了 fieldsStore,那么这里要说一下 fieldsStore,fieldsStore 中包含了当前 form 的主要信息和一些处理表单数据的方法。...如何从 event 中获取组件的值 hidden 为 true 时,校验或者收集数据时会忽略这个字段 fields 主要用于记录每个表单的实时属性,主要包括: dirty 数据是否已经改变,但未校验

    1.5K20

    从损坏的手机中获取数据

    有时候,犯罪分子会故意损坏手机来破坏数据。比如粉碎、射击手机或是直接扔进水里,但取证专家仍然可以找到手机里的证据。 如何获取损坏了的手机中的数据呢? ?...他们还输入了具有多个中间名和格式奇奇怪怪的地址与联系人,以此查看在检索数据时是否会遗漏或丢失部分数据。此外,他们还开着手机GPS,开着车在城里转来转去,获取GPS数据。...要知道,在过去,专家们通常是将芯片轻轻地从板上拔下来并将它们放入芯片读取器中来实现数据获取的,但是金属引脚很细。一旦损坏它们,则获取数据就会变得非常困难甚至失败。 ?...图2:数字取证专家通常可以使用JTAG方法从损坏的手机中提取数据 数据提取 几年前,专家发现,与其将芯片直接从电路板上拉下来,不如像从导线上剥去绝缘层一样,将它们放在车床上,磨掉板的另一面,直到引脚暴露出来...比较结果表明,JTAG和Chip-off均提取了数据而没有对其进行更改,但是某些软件工具比其他工具更擅长理解数据,尤其是那些来自社交媒体应用程序中的数据。

    16.2K10

    Playwright数据驱动测试:从Excel与JSON获取测试数据指南

    今天,我们聊聊如何用 Playwright 优雅地从 Excel 和 JSON 文件中读取测试数据,让你的测试代码真正实现“一次编写,到处运行”。为什么需要数据驱动测试?先看个反例。...实战一:从 Excel 读取测试数据Excel 可能是产品经理和业务人员最喜欢的数据格式。如果你的测试数据需要经常让非技术人员维护,Excel 是个不错的选择。...(合并单元格、公式等)可以用 Excel 的数据验证功能保证数据质量缺点:需要额外依赖版本控制时二进制文件对比困难读取速度相对较慢实战二:从 JSON 读取测试数据如果你团队里都是开发人员,或者你更喜欢纯文本的版本控制...根据我的经验,选择建议如下:选 Excel 如果:测试数据经常由产品/业务人员提供数据需要复杂的计算或格式已经有现成的 Excel 数据源选 JSON 如果:团队都是技术人员需要频繁进行版本控制和代码审查数据需要嵌套结构或复杂数据类型混合使用...通过将测试数据从代码中分离出来:你的测试逻辑会更简洁,不再充斥着各种硬编码值测试数据维护成本大大降低,非技术人员也能参与更容易实现测试用例的复用和组合测试报告更清晰,每个数据行都可以作为一个独立的测试步骤无论是选择

    11611

    如何使用DNS和SQLi从数据库中获取数据样本

    泄露数据的方法有许多,但你是否知道可以使用DNS和SQLi从数据库中获取数据样本?本文我将为大家介绍一些利用SQL盲注从DB服务器枚举和泄露数据的技术。...我尝试使用SQLmap进行一些额外的枚举和泄露,但由于SQLmap header的原因WAF阻止了我的请求。我需要另一种方法来验证SQLi并显示可以从服务器恢复数据。 ?...此外,在上篇文章中我还引用了GracefulSecurity的文章内容,而在本文中它也将再次派上用场。 即使有出站过滤,xp_dirtree仍可用于从网络中泄露数据。...在下面的示例中,红框中的查询语句将会为我们从Northwind数据库中返回表名。 ? 在该查询中你应该已经注意到了有2个SELECT语句。...此查询的结果是我们检索Northwind数据库中第10个表的名称。你是不是感到有些疑惑?让我们来分解下。 以下内部的SELECT语句,它将返回10个结果并按升序字母顺序排序。 ?

    17.1K10
    领券