antd-crud v1.0.0 发布,一个 React 增删改查高阶组件
antd-crud
一个基于 React + Ant.Design 的增删改查组件。
特征
- 1、极轻量,只依赖于 Ant.Design 再无其他任何依赖
- 2、支持基本的【增删改查】和【批量删除】功能
- 3、支持搜索、自定义分页和自定义排序等功能
- 4、支持刷新、导出 Excel、数据打印、行高设置等功能
- 5、更多的 DIY 配置
已完成功能
- 基本增删改查
- 分页加载
- 搜索面板
- 批量删除
- 数据刷新
- EXCEL 导出
- 行高设置
- 打印功能
待完善功能
- 列设置功能
- 非表单形式展示的查看页面数据化
- 编辑或查看页面可选 Modal 或者 Drawer
- 编辑页面和查看页面分组设置
- 编辑页面自定义布局
- 编辑和列表在同一个页面的布局选择
开始使用
npm i @codeflex/antd-crud
function App() { const columns: ColumnsConfig<Account> = [ { title: '姓名', dataIndex: 'name', key: 'name', placeholder:"请输入姓名", supportSearch:true, render: (text) => <a>{text}</a>, }, { title: '年龄', dataIndex: 'age', key: 'age', supportSearch:true, }, { title: '地址', dataIndex: 'address', key: 'address', supportSearch:true, }, { title: '标签', key: 'tags', dataIndex: 'tags', supportSearch:true, render: (_, { tags }) => ( <> {tags.map((tag) => { let color = tag.length > 5 ? 'geekblue' : 'green'; if (tag === 'loser') { color = 'volcano'; } return ( <Tag color={color} key={tag}> {tag.toUpperCase()} </Tag> ); })} </> ), } ]; const data: Account[] = [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park', tags: ['nice', 'developer'], }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', tags: ['loser'], }, { key: '3', name: 'Joe Black', age: 32, address: 'Sydney No. 1 Lake Park', tags: ['cool', 'teacher'], }, ]; const actions:Actions<Account> = { onCreate:(account)=>{ console.log("onCreate", account); } }; return ( <div style={{width:"960px"}}> <AntdCrud columns={columns} dataSource={data} actions={actions} pageNumber={1} pageSize={10} totalRow={2342}/> </div> ) }
ColumnConfig
类型说明:
ColumnConfig
继承了 Antd 的 Table 的 Column 的所有配置,参考:https://ant-design.antgroup.com/components/table-cn#column
在此基础上,增加了自己的配置:
- placeholder: 搜索框和编辑页面的占位内容
- supportSearch: 是否支持搜素
- form: 编辑表单的 form 设置,类型为
FormConfig
FormConfig
类型说明:
type FormConfig = { // 表单类型,默认为 Input, // 支持:Input、InputNumber、Hidden、Radio、Checkbox、Rate、 // Switch、DatePicker、Select、Slider、Upload type: string, //自定义属性,支持 antd 控件的所有属性配置 attrs?: any, //验证规则,只在编辑页面起作用 rules?: any[], }
Actions
类型说明:
Actions
是用于定义 AntdCrud 组件的监听方法
Actions
定义的类型如下:
type Actions<T> = { //获取数据列表 onFetchList?: (currentPage: number , pageSize: number , totalPage: number , searchParams: any , sortKey: string , sortType: "asc" | "desc") => void, //获取数据详情 onFetchDetail?: (row: T) => T, //删除单条数据 onDelete?: (row: T) => void, //批量删除数据 onDeleteBatch?: (rows: T[]) => void, //数据更新 onUpdate?: (row: T) => void, //数据创建 onCreate?: (row: T) => void, //初始化搜索框的值 onFormItemValueInit?:(key:string) => any }
需要用户在 Actions
定义以上方法,用于对数据进行操作或查询。
运行演示
git clone https://gitee.com/antdadmin/antd-crud.git cd antd-crud/example npm install npm run dev

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
antd-bpmn v1.0.0 发布,一个 React 工作流高阶组件
antd-bpmn 一个基于 React + Ant.design + bpmn.js 编写的工作流高阶组件。 已完成功能 基于 bpmn.js 的基础画图功能 XML 预览 XML 保存 对齐方式:向右对齐,左右居中,向左对齐,向上对齐,上下居中,向下对齐 放大、缩小 撤销、重做 小地图、快捷键 重写工具栏(更符合国人习惯) 重写元素菜单(更符合国人习惯) 属性面板的设置 如何使用 安装: npm i @codeflex/antd-bpmn 示例代码: function App() { const config: AntdBpmnConfig = { deptDataUrl: "/xxxx", deptDataUrl: "bpmn.demo.xml", onLoad: (url, set) => { console.log("onLoad", url) // 加载 xml 数据 if (url === "bpmn.demo.xml") { fetch(url).then(response => set(response.text())) .ca...
- 下一篇
Alluxio AI 全新产品发布:无缝对接低成本对象存储 AI 训练解决方案
(2023 年 10 月 19 日,北京)Alluxio 作为一家承载各类数据驱动型工作负载的数据平台公司,现推出全新的 Alluxio Enterprise AI 高性能数据平台, 旨在满足人工智能 (AI) 和机器学习 (ML) 负载对于企业数据基础设施不断增长的需求。 Alluxio Enterprise AI 平台可综合优化企业 AI 和分析基础设施的性能、数据可访问性、可扩展性和成本效益,助力生成式 AI、计算机视觉、自然语言处理、大语言模型和高性能数据分析等下一代数据密集型应用的发展。 为保持竞争力并在竞争中脱颖而出,各家企业都在全力推进数据和 AI 基础设施的现代化。在此过程中,企业家们也意识到传统的数据基础设施已经无法匹配下一代数据密集型 AI 负载的需求。在 AI 项目推进中经常遭遇的各类挑战,诸如性能低下、数据可访问性差、GPU 稀缺、数据工程复杂以及资源未充分利用等,都严重妨碍了企业获取数据价值。Gartner® 研究称,“可操作 AI 的价值在于能够在企业的各种环境下进行快速开发、部署、调整和维护。考虑到工程复杂性和更快的市场响应需求,开发较为灵活的 AI 工程...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块