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

「前端组件化」以Antd为例,快速打通UI组件开发任督二脉

前言犹记得,我还是一个初职场新人,出去面试总会被问到会不会组件开发问题。当时项目开发都使用现成UI组件,最初用Element UI,后来换成了Antd。...Grid 栅格栅格化布局,基于行(row)和列(col)来定义信息区块,可以将区域24等分。通过 row 水平方向建立一组 column,内容放置于 col 内。...rc-steps我在看Antd源码时发现,有些组件底层用第三方react-component组件。当然这个组件库也是属于Antd。...我带着这些功能是怎样实现好奇心,研究了Antd源码。内容有点多,我挑基础部分讲一讲。rc-tableTable组件,底层主要使用react-componenttable组件。...RcTable组件,表格列展示内容是封装到子组件Body

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

前端复杂表格导出excel,一键导出 Antd Table 看这篇就够了(附源码)

列宽 多级表头(行合并、列合并) 一个 sheet 中放多张,并实现每张列宽不同 源码地址:https://github.com/cachecats/excel-export-demo 第二篇文章...// 注意:第4列及以上列将右移1列。 // 另外:如果工作行数多于列插入项值,则行将仍然被插入,就好像值存在一样。...(row.values)); }); // 遍历工作所有行(包括空行) worksheet.eachRow({ includeEmpty: true }, function(row, rowNumber...先贴出完整代码 import React, {useEffect, useState} from 'react' import {Button, Card, Space, Table} from "antd...: 一节简单表格我们用 worksheet.columns = generateHeaders(columns)设置每一个表头列所要显示信息和应该匹配 key,但是它无法设置多级表头,所以需要换一种思路

10K20

React后台管理前端系统(基于开源框架开发)起步式

因为我想跳出舒适区.接受更大挑战,目前和vue并驾齐驱React项目也很流程,很多公司也使用.于是乎,技术栈就是用React了。...但是要从零搭建,时间上划不来,因为需要集成很多东西,基础建设就要耗费很长时间.于是乎GitHub一顿搜,Ok 找到了二个比较可靠项目使用,一个是 ant-design-pro 另一个是antd-admin...二个项目大同小异, 使用技术栈react,ant-design,dva,Mock 基于 Antd UI 设计语言 虽然我对dva和ant-design 了解不深,但我还是准备挑战一下.不入虎穴焉得虎子...但是调取接口时候,接口虽然调取了,但是页面没有刷新出来,怎么调试都不出来,急死了.最后只好需求同事帮助,但是他们也很少有人用React.就这样过了一天,我决定先把问题放一下, 问题答案肯定就在代码里...dispatch } = this.props; dispatch({ type: 'rule/fetch', }); } React组件componentDidMount生命周期时

1.8K20

使用hooks重新定义antd pro想象力(一)

1 react生态antd pro占据重要位置。非常多团队使用其来完成自己后台应用。...长达一年多时间里,由于官方并没有针对React hooks提出任何解决方案和推荐方案,因此目前来说,react hooks开发福利,极少有团队享受到了。...(其实他们内部早就已经悄悄咪咪使用了,并且封装了大量简单好用自定义hooks) 幸运是,我团队,早在半年多以前就已经使用react hooks重构了antd pro。...官方提供demo,许多实现,并非最佳方式,因此如果要运用于实践,不可盲从,需要根据实际情况进行调整。...import { Col, Dropdown, Icon, Menu, Row } from 'antd'; import React, { Suspense, useEffect, useState

4.1K20

类型即正义:TypeScript 从入门到实践(序章)

TypeScript 版本 React 项目代码过程,在下一个小节我们将会结合 React 项目代码,真正开始 TypeScript 语法讲解。...React 前端工程师学习路线[12]一部分,欢迎来 Star 一波,鼓励我们继续创作出更好教程,持续更新~ 前提条件 确保你已经安装了 Node.js,可以访问官网安装:官网地址[13]。...在这篇教程讲解过程,我们将通过 Ant Design[17] 对应 React 组件库 antd[18] 来辅助我们项目的编写,使得我们可以专注于讲解 TS 核心知识,而不被繁杂界面语言所干扰...准备样式部分 准备了逻辑代码之后,为了让我们最后待办事项样式更美观一点,也利于我们讲解时操作,我们需要给项目加一点样式,打开 src/App.css 对其中代码做出对应修改如下: .App...antd 组件库,并使用 react-app-rewired 替换默认 react-scripts 来完成对 CRA Webpack 配置进行修改,以是我们可以获得 antd 组件按需引用和主题定制功能

1.5K20

ExcelJS导出Ant Design Table数据为Excel文件

可以满足(但不限于)以下需求: 简单表格导出 为表格添加样式(更改背景色、更换字体、字号、颜色) 设置行高、列宽 解析 ant-design Table 直接导出 excel,根据 antd 页面设置列宽动态计算...// 注意:第4列及以上列将右移1列。 // 另外:如果工作行数多于列插入项值,则行将仍然被插入,就好像值存在一样。...(); // 遍历工作具有值所有行 worksheet.eachRow(function(row, rowNumber) {   console.log('Row ' + rowNumber +...,并设置了列宽: 可以看到,导出 excel 列宽比例跟在线表格是一致: 图片 源码: import { Table, Button } from 'antd'; import React from...或直接在行或列上设置: worksheet.getColumn(3).outlineLevel = 1; // 设置列 worksheet.getRow(3).outlineLevel = 1; // 设置行 也可以工作设置

5.1K30

React Echarts 使用教程 - 如何在 React 中加入图表(内附数据看板实战搭建案例)

)》 Ehcarts 作为数据展示组件,应用场景丰富,所以 React 里引入 Echarts 图表是每个前端必会技能。...了解更多折线图、柱状图等可看我们 本教程,我挑两个重点讲一下,着重讲讲 series,xAxis 这两个属性配置,series 表示一个系列数据,type 表示系列类型;xAxis 表示 x轴数据..., index.js 导入 antd 样式文件 import "antd/dist/antd.min.css" 接下来就可以正式进入开发了,首先说明下我们要做事情: 封装工具类,用来处理公共请求..., Col, Select, Form } from "antd"; import { useState } from "react"; import TrendChart from "....React Echarts 与卡拉云 本文详细讲解新版 React 如何引入 Echarts。

5.3K20

ExcelJS导出Ant Design Table数据为Excel文件

可以满足(但不限于)以下需求: 简单表格导出 为表格添加样式(更改背景色、更换字体、字号、颜色) 设置行高、列宽 解析 ant-design Table 直接导出 excel,根据 antd 页面设置列宽动态计算...// 注意:第4列及以上列将右移1列。 // 另外:如果工作行数多于列插入项值,则行将仍然被插入,就好像值存在一样。...(); // 遍历工作具有值所有行 worksheet.eachRow(function(row, rowNumber) {   console.log('Row ' + rowNumber +...,并设置了列宽: 可以看到,导出 excel 列宽比例跟在线表格是一致: 源码: import { Table, Button } from 'antd'; import React from ...或直接在行或列上设置: worksheet.getColumn(3).outlineLevel = 1; // 设置列 worksheet.getRow(3).outlineLevel = 1; // 设置行 也可以工作设置

39530

使用ant design开发完整后台系统

这里要说是ant designvue版和react版本使用。这里不考虑到两种框架vue和react底层。 vue ant design 项目 这是一个测试平台项目。 ?...add ant-design-vue 之后我们就直接在main.js文件全局引入 // main.js import Vue from 'vue' import Antd from 'ant-design-vue...'/path/to/url', method: 'get', params }) } export default { getDeviceList } 复制代码 接下来我们原型挂载接口...const ApiPlugin = {} ApiPlugin.install = function (Vue, options) { Vue.prototype.api = api // 挂载api原型...后话 嗯~ 根据实际情况增加功能,比如图表展示你要选啥实现:echart, bizchart...等等 使用vue和react版本ant design开发后台系统,自己还是比较偏向使用react ant

2.5K20

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

这里稍微注意一下,请勿设置 shouldUpdate 外层 Form. Item 添加 name, 否则,你会得到一个 error。...,导致 rc-select 甚至出现了 searchValue 字样。...・模块复用 新版 rc-select antd 官方抽取了一个 generator 方法。它主要接收一个 OptionList 自定义组件用于渲染下拉框部分。...后,发现一些表格分页器多了 pageSize 切换功能,代码 onChange 又对 size 做处理,会导致底部分页器 pageSize 和数据对不上,因此需要各自排查 Table pagination...拖拽等回调中就可以通过 nodeData.props.data 方式获取到 data 值。但在 antd4 ,获取参数数据结构发生了改变,原先直接通过 props 点出来不行了。

4K30

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

前言 最近把新后台系统写好了..用是上篇文章技术栈(mobx+react16); 但是感觉mobx没有想象好用,看到umi 2.x了.就着手又开始重构了......---- 抽离思路及实现 思路 合并props传递值,尽可能减少传递东西(组件内部实现默认值合并),把渲染子组件通过遍历json去实现; 整个查询区域用antd表单组件,聚合所有表单数据(自动双向绑定...内部state默认初始化都为空[antd对于日期控件使用null来置空],外部初始化可以用getFieldDecoratorinitialValue,已经暴露 ---- 实现功能 支持props...'; import { Form, Row, Col, Input, Button, Select, DatePicker, Card, Cascader, Radio..., Icon, } from 'antd'; const { MonthPicker, RangePicker } = DatePicker; const Option = Select.Option

2.6K10

从Highlight浅谈Webpack按需加载

,我们看看最后数据有多大(包含完整引用 antd 文件,我项目中使用了 antd ) highlight-1.png 按需加载 接着我们按照官方 demo 实现按需加载 import * as...比如require('highlight.js/styles/' + nextProps.css) require是关键字,接下来 webpack 会对 require 这个函数参进行分析,它会发现参有两个部分构成...表现为 当 Select 又选到已经加载样式时, 浏览器并不会重新加载那段代码,导致样式无效。...这个问题在另一个组件得到了解决 react-syntax-highlighter 还没来得及看具体实现,不过我估计应该是使用了 CSS-MODULES,明天再看看 没来得及验证部分 有注意到 我使用...const css = await import('xxx'),const css = require('xxx'),这两者表现是有区别的,前者是一个Promise对象,后者直接返回了值,这就涉及到了一个同步和异步问题

1.9K10

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

前言 最近把新后台系统写好了..用是上篇文章技术栈(mobx+react16); 但是感觉mobx没有想象好用,看到umi 2.x了,就着手又开始重构了。..., propsautoSearch为true 仅有一个非Input控件时候,去除卡片效果 抽离思路及实现 思路 合并props传递值,尽可能减少传递东西(组件内部实现默认值合并),把渲染子组件通过遍历...resetSearchForm 函数 回调函数,当重置表单数据时候 autoSearch 布尔值 启动非input控件自动触发提交props函数 数据源格式 data数据格式基本和antd要求格式一致...* @Description: 列表表单查询组件 */ import React, { PureComponent } from 'react'; import { Form, Row,...// 清除表单数据字符串两边空格 // 若是key为空数组则跳过 removeNotNeedValue = obj => { // 判断必须为obj if (!

12410

Quartz应用与集群原理分析

org.quartz.jobStore.clusterCheckinInterval属性定义了Scheduler实例到数据库频率(单位:毫秒)。...Scheduler检查是否其他实例到了它们应当时候;这能指出一个失败Scheduler实例,且当前 Scheduler会以此来接管任何执行失败并可恢复Job。...Quartz集群数据库 Quartz集群部署方案架构是分布式,没有负责集中管理节点,而是利用数据库锁方式来实现集群环境下进行并发控制。...WorkerThread是定义SimpleThreadPool类内部类,它实质就是一个线程。例如,CRM配置如下: <!...,先去QRTZ_LOCKS查询操作相关业务对象所需要锁,select语句之后加for update来实现。

1.4K31

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

众所周知,我们生在一个最好时代,antd 已经帮我们把绝大多数功能封装好了,即开即用, API 详尽,但即便如此,antd 开发人员依然在当前基础一遍又一遍地做优化和探索,所以,笔者希望通过本文不仅能带给大家业务小技巧...二、什么是 Form 相信大家日常开发已经对 Form 表单使用已非常精通了,但非常值得一提是,可能大家对“Form定义是什么?什么时候我们会选择用 form ?”这个问题却往往回答不好。...实则不然: rc-field-form 其实明确指出,参数 error 类型实际就是 sting,当然了,如果写成 new Error 或许看起来更优雅,但直接写 string 也没错; rules...(下图为标签业务一个历史功能,代码暂略) 问题分析:由于项目历史原因,我们抛开设计问题暂不,直接讨论校验方案。...5. table 与 form 碰撞 (组件联动校验) 业务场景:数栈其实存在各种与 form 联动案例,笔者取 数据资产 (data-assets-front) 项目为例, table 动态插入单条数据并实现可自定义校验内容

2.1K20

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

众所周知,我们生在一个最好时代,antd 已经帮我们把绝大多数功能封装好了,即开即用, API 详尽,但即便如此,antd 开发人员依然在当前基础一遍又一遍地做优化和探索,所以,笔者希望通过本文不仅能带给大家业务小技巧...二、什么是 Form 相信大家日常开发已经对 Form 表单使用已非常精通了,但非常值得一提是,可能大家对“Form定义是什么?什么时候我们会选择用 form ?”这个问题却往往回答不好。...实则不然: rc-field-form 其实明确指出,参数 error 类型实际就是 sting,当然了,如果写成 new Error 或许看起来更优雅,但直接写 string 也没错; rules...(下图为标签业务一个历史功能,代码暂略) 问题分析:由于项目历史原因,我们抛开设计问题暂不,直接讨论校验方案。...5. table 与 form 碰撞 (组件联动校验) 业务场景:数栈其实存在各种与 form 联动案例,笔者取 数据资产 (data-assets-front) 项目为例, table 动态插入单条数据并实现可自定义校验内容

1.3K20
领券