热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

react封装通用组件之Modal弹窗

react封装通用组件之Modal弹窗工作中发现我们在做react后台管理系统的时候,会有大量重复的页面(如下图),比如form表单和table组件、以及接口通讯,新增修改moda
react 封装通用组件之Modal弹窗

工作中发现我们在做react后台管理系统的时候,会有大量重复的页面(如下图),比如form表单和table组件、以及接口通讯,新增修改modal等。虽然antd里面的组件已经很简便了,但是遇到众多功能类似的页面,每次都复制大量的代码还是会耗费很大的时间而且不易维护,看起来很不清爽,于是找了个时间就把他们做了二次封装。 尽量涵盖了大多数的业务。

Modal 弹窗的封装

封装的意义: 简化代码,提高可复用性,工作中尤其是管理类的页面大多会涉及到新增、修改列表,多数情况下我们会在modal中进行,在修改时会调回显内容接口,在新增时清理调框内的内容。当我们封装好Modal组件后的好处,就是涉及到相关业务,只需要修改List即可,在list中选择你要在modal中展示的内容,和相关的关键词,下图只展示了输入框和下拉框,但是在组件的封装中其实封装了很多的内容,具体的可以拉下代码,详细的看一下,封装的过程可能会有点繁琐,但是在实践中,会相当便捷。

完成后的效果

《react 封装通用组件之Modal弹窗》

《react 封装通用组件之Modal弹窗》

1. 新建basicModal组件

在component中新建一个basicModal.js的表格,主要代码如下

《react 封装通用组件之Modal弹窗》
《react 封装通用组件之Modal弹窗》

  • 代码较多,只能贴出一部分,详细代码点击下面的github获取

思路
1.通过组件封装一个Modal,将数组列表传递进来,遍历根据不同类型的判断把需要展示到页面的元素添加render出来。
2. 在子组件中处理完数据后,通过this.props.方法 把内容提到页面中进行操作。
3.把Radio、Checkbox 列表写到了Util方法中。

2. 页面调用

在index.js 页面中的调用如下:

《react 封装通用组件之Modal弹窗》

在modalFormList中选择你需要的零件
《react 封装通用组件之Modal弹窗》
如图:只需要修改modalFormList数组中的对象即可,需要几个加几个,非常方便

3. 处理radioList和CheckboxList在Util文件中

在util 中的index.js中, 代码如下:《react 封装通用组件之Modal弹窗》

4. 完成后的界面,具体方法的实现,没有贴出来, 请到github中获取

《react 封装通用组件之Modal弹窗》

《react 封装通用组件之Modal弹窗》

链接地址:
网页地址

github 地址:
github


推荐阅读
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 标题: ... [详细]
author-avatar
平凡王子轶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有