当前位置: 首页 > news >正文

react18加antd新手上路使用

第一次使用react和antd组件库,记录过程中实用的几个组件和使用方法;

项目中依赖版本
"react": "^18.2.0",
"antd": "^5.3.0",
Input关闭历史填充
 <Input placeholder="请输入ID/名称" allowClear autoComplete="off"/>  
Popover组件使用
<Popover></Popover>
// 挂载到当前节点父节点
<Popover getPopupContainer={(triggerNode: any) => triggerNode.parentNode}>
</Popover>
切换中文加日期插件汉化
import { ConfigProvider } from 'antd';
import 'dayjs/locale/zh-cn';
import zhCN from 'antd/locale/zh_CN';
import 'moment/dist/locale/zh-cn';
import Router from '@/router/index';
function App() {return (<div className="App"><ConfigProvider theme={{ token: { colorPrimary: '#0078D7'} }} locale={zhCN}><Router></Router></ConfigProvider></div>)
}
export default App
InputNumber只能输入整数
<InputNumber min={0} max={100} precision={0} placeholder='请输入' style={{width: '100%'}}/>
From.List 赋值
// 自定义校验
const checkImei = (_: any, value: string) => {if (!value) {return Promise.reject(new Error('1-20个字符,仅支持数字或字母!'));}const is = Reg.EN_NUM.test(value);if (is) {if (value.length > 12) {return Promise.reject(new Error('1-20个字符,仅支持数字或字母!'));} else {return Promise.resolve();}} else {return Promise.reject(new Error('1-20个字符,仅支持数字或字母!'));}
}
const checkImei = (_: any, value: string) => {if (!value) {return Promise.reject(new Error('1-20个字符,仅支持数字或字母!'));}const is = Reg.EN_NUM.test(value);if (is) {if (value.length > 12) {return Promise.reject(new Error('1-20个字符,仅支持数字或字母!'));} else {return Promise.resolve();}} else {return Promise.reject(new Error('1-20个字符,仅支持数字或字母!'));}}
<Form initialValues={{IMEIS: [{imei: 1}, {imei: 2}, {imei: 3}]
}}><Form.List name="IMEIS">{(fields, { add, remove }) => (<>{fields.map(({ key, name, ...restField }, index) => (<div key={key}><Form.Item label={`IMEI${index + 1}`} {...restField} name={[name, 'imei']} rules={[{ required: true, validator: checkImei }]}><Input placeholder="请输入" allowClear/></Form.Item></div>))}</>)}</Form.List>
</Form>
表格预制高度
<div className={style.table_wrap}><Table columns={columns} dataSource={data} rowKey={record => record.id} scroll={{ x: 50, y: '360px'  }} pagination={false}></Table>
</div>
:global{.ant-table-body{height: 360px;}
}

相关文章:

  • Golang 并发 Channel的用法
  • 智慧物业信息管理系统平台及APP建设项目
  • 第2讲:C语言数据类型和变量
  • 代理模式笔记
  • 【坑】Spring Boot整合MyBatis,一级缓存失效
  • 微服务三十五关
  • Windows 10 优化指南20240223
  • QT_day4
  • 深入理解Java单例模式
  • https://registry.npm.taobao.org淘宝npm镜像仓库地址更新
  • STM32F4XX - uart设置
  • 2024年漳州本地有正规等保测评机构吗?在哪里?
  • vue2+element医院安全(不良)事件报告管理系统源代码
  • Stable Diffusion 模型的概念、类型、下载、安装、使用
  • C# OpenCvSharp 颜色反转
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • Android优雅地处理按钮重复点击
  • Angular4 模板式表单用法以及验证
  • css选择器
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • opencv python Meanshift 和 Camshift
  • react 代码优化(一) ——事件处理
  • spring-boot List转Page
  • 记一次删除Git记录中的大文件的过程
  • 让你的分享飞起来——极光推出社会化分享组件
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #QT(串口助手-界面)
  • (a /b)*c的值
  • (C++20) consteval立即函数
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)关于多人操作数据的处理策略
  • .NET 药厂业务系统 CPU爆高分析
  • @DataRedisTest测试redis从未如此丝滑
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [AIGC] Redis基础命令集详细介绍
  • [BZOJ] 2044: 三维导弹拦截
  • [C# 网络编程系列]专题六:UDP编程
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [i.MX]飞思卡尔IMX6处理器的GPIO-IOMUX_PAD说明
  • [NOIP2018 PJ T4]对称二叉树
  • [Python]装饰器
  • [Python3网络爬虫开发实战] 5.3-非关系型数据库存储
  • [RK3568 Android11] Binder驱动结构体
  • [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]
  • [SRM603] WinterAndSnowmen
  • [UML]UML系列——类图class的实现关系Realization
  • [Unity]关于iOS申请因为Advertising Identifier问题被拒绝的解决方法
  • [Vue]中数组的操作用法
  • [Web开发] IE8的User-Agent 字符串