- 西柚不是西游
-
下方。 栽种栽种时间在月日前后,土壤耕
Antd源码暗藏圣诞彩蛋,为何遭到了开发者的集体炮轰?
曾经作为一阵子网页前端,根据我的经验,阿里的这个Antd是一个开源的前端框架,使用它可以比较轻松的通过代码实现一些网页特效,让页面更加好看。再加上有阿里旗下的蚂蚁金服在后面背书,所以有很多商业网站和企业网站甚至政府网站都在使用Antd。由于Antd本身是开源的,所有代码任何人都看得见,所以使用它的开发者都默认为它是一个干净、安全的框架。却没想到,Antd的一位维护人员不知道出于什么想法,在9月10日提交了一个“彩蛋”,它的作用是在12月25日当天,为所有使用Antd框架的网页中的表单提交按钮,增加了一个“飘云”的特效,当鼠标移动到按钮上是还会显示“Hohoho”的文字提示。按理说,给提交按钮增加这样一个特效无关大雅。但需要注意的是,前面已经提到,很多政府、企业网站都在使用Antd的框架,而这些网站很多都是极其严肃的,并不适合这些玩笑似的“彩蛋”。尤其是这一彩蛋被设定在12月25日这天出现,指向性的含义非常明显,因此给不少网站的维护人员带来了很大的麻烦,甚至据说还有前端因此而丢掉饭碗。一开始,这一彩蛋的提交者还认为这不是什么大事,直到不少开发者通过各种社交软件“炮轰”,才在github发表了一个不痛不痒的声明,称是在自己的“一意孤行且愚蠢的决定”。而这次事件也给广大开发中敲响了警钟。一直以来,很多开发者认为“开源”的东西一定的安全的,因为所有代码对外开放,任何人都可以查看。但是当一些大型的开源项目涉及到很多行代码的时候,不一定有开发者能够完整的阅读所有的开源代码。而且像Antd这样由团队负责运营的开源项目,很多时候默认就是安全的,人们使用它就是为了提高工作效率,不大可能把所有代码都读一遍。这就使得一些开源项目存在了隐患的可能。这次仅仅只是加入了一个彩蛋,如果下次增加点后门什么的,后果不堪设想。尽管由于Antd是开源项目,根据协议即使这一彩蛋给开发者带来困扰甚至害人丢了工作,开发者也很难追究添加彩蛋的运营人员的责任,因为开发者在使用Antd框架的时候并没有付费,该框架也并非用于盈利。但是这一事件也给Antd项目的声誉造成了严重的负面影响,一些开发者已经着手在网站页面中将Antd框架删除。总而言之,这次“彩蛋事件”虽然是个别人员的非主观恶意造成的,但是却给整个开源社区带来了一场“信任危机”。2023-07-17 17:06:521
使用ANTD前端开发——开发环境搭建(Windows)
使用ANTD(ant design)开发需要安装Node.JS,cnpm,tyarn,umi等包。yarn是npm的替代品,正如tyarn取代cnpm。在未来的项目中我们会使用tyarn进行JS的包管理。 Node.JS安装成功后,在安装路径下有 npm 命令脚本。npm是Node.JS的包管理器,可以使用npm命令安装各种所需的包。但由于npm包的默认安装源在国外,速度慢,因此需将安装源映射在国内。需要安装cnpm和tyarn。2023-07-17 17:06:591
antd表单组件的双向绑定
react没有v-model这种双向绑定指令。所以要想实现双向绑定,就需要给输入框一个默认的value,并且通过change监听事件去改变value来达到双向绑定的目的。 在antd的表单组件中。如果给每个item组件设置了name。那么就不需要去手动实现双向绑定了。只需要通过 form.setFieldsValue方法。将对应的数据传过去。from组件就会根据对应的name和字段名来双向绑定。 可以通过Form.useForm()来拿到整个from对象。 form.resetFields()方法可以重置整个表单的数据。 form.validateFields()触发表单验证,并返回表单数据。 在使用antd的日期组件时,发现直接给组件指定年月日的日期格式的数据时,会报错 date.clone方法未定义。官网指明,antd的日期组件是依赖moment库实现的,并且指定默认值的时候也需要传入moment格式的日期。所以只需要将需要传入的日期用momentI()方法转一下格式就行了2023-07-17 17:07:061
antd的图标不能加点击事件吗
能。antd是基于AntDesign设计体系的ReactUI组件库,主要用于研发企业级中后台产品。在antd中能对图标加点击事件,需要运用click:()操作,使用console语句即可显示加上的点击事件了。2023-07-17 17:07:131
修改antd组件样式
工作中使用antd需要对其样式进行一些修改,一开始以为直接在组件上加入className就好,但发现在好的情况下完全不可取,问了对这个比较熟悉,恍然大悟,记录下来,映像好点 修改样式无法两种情况,全局样式修改,局部样式修改 下面我就已一个按钮组件为例子来写个demo 特点: 虽然你是在当前目录下的less或css文件修改了,但是全局生效的,建议如果有全局修改的需求,放到global.less的文件中修改,并做好注释。 如:我这边修改按钮组件的样式 注意:这里就要提到css modules的一个类名加载机制了,上面应该看到了,最外层有个类 为 lqDemo ,因为css modules 的机制是,如果你不使用它,那就不会进行加载。所以无论如果需要在外面加上一个class类,进行使用,否则仅仅引用是不会生效的 这个时候就需要用到css的作用域了 像这样嵌套在:global下就好了 哈哈哈 是不是就解决了,其实还有其它的方式,但我觉得这种方式是最好的2023-07-17 17:07:201
Antd 树形选择节点问题
Antd 提供的 TreeSelect树形选择非常好用,但是有一个问题:节点选择。场景一:当底层child 节点数为多个时 可以正常选择,但是为1时,会自动选择到父节点上,怎么办?场景二:当我想要选择2级child节点时,选中的却是3级child节点,该如何解决?解决这个问题的关键在于 灵活使用一个属性:showCheckedStrategy(默认是子节点) u26a0ufe0f注意:这个对象的值是枚举类型 SHOW_ALL: 显示所有选中节点(包括父节点) SHOW_PARENT: 只显示父节点(当父节点下所有子节点都选中时) SHOW_CHILD :只显示子节点个人推荐使用三元运算 灵活改变节点取值,这样能在项目中满足多个不同等级账户的使用需求。2023-07-17 17:07:271
2022-07-10 Antd表单的基本使用
近期在开发团队官网的过程中碰到了需要运用表单的场景,去年学习React时是通过网上的视频教程自学的,课程的小demo中用户输入数据的收集是通过input框,结合ref实现的,因此形成了思维定式,每一次收集用户数据都用这种方式。一个偶然的机会才猛然想起使用表单,功能开发完后写下此文,记录这次学习的内容。 Form.useForm():创建form控制实例,不提供时会自动创建 onFinish:提交表单且数据验证成功后回调事件 validateFields:触发表单校验 getFieldValue:获取表单指定字段的值 name:字段名,在getFieldValue传入这个值可以获取字段的数据 label:字段的标签 关于Antd表单的内容有补充时另写。 通过在form标签或其提交按钮中的action、method、submit等属性来提交表单 通过js中调用submit函数提交表单,action、method等属性在form标签中定义 通过DOM技术收集表单数据,再作为请求的query或body提交。 1、刷新 form提交,在更新数据完成后,会转到一个空白页面再对原页面进行提交后处理,即便是提交给自己本身的页面,从这点来说form提交用户体验较差;AJAX是局部刷新,不会跳转,刷新效率更高,用户体验更好。 2、支持 form只支持GET/POST两种请求。 3、适用场景 form适合前后端不分离项目;AJAX适合前后端分离项目。 参考资料和原文2023-07-17 17:07:331
antd使用
对于label和content的宽度,我们想着table中每一行中每一个td可以设置百分比的宽度,总和为100%即可 有时设置width不起作用。加上 display:table-cell; 设置width并超出显示省略号,官网给出讨论 https://github.com/ant-design/ant-design/issues/13825 当书写render时,当此列没有key值时,render的参数为(record),当有key值时,render的参数为(text,render) 官网给出的行选中 常用写法: 单选的时候,可简化handleRowClick: 上述选中的可以显示为20,只在下拉选项时添加“页/条” 问题描述: 最后一列为操作列,固定在最右边,随着项目复杂,从3个操作增加为4个了,然后紧跟在操作列前面的一列筛选列的筛选图标被遮挡了,不明白为啥。。。。? 问题解决:最终发现,是只给操作增加了内容,没有增加操作列的宽度导致的,所以增加操作列的宽度到合适即可。 一般都是除了导航和查询的地方,剩下的地方container全部是table的,此时洗完滚动根据container的高度自适应变化而调整,而且不滚动时,分页在页面最底部,此时需要增加样式: 将table配置中 scroll: { y: "calc(100% - 46px)" } ,46是因为每行高是46 此时左或右固定时滚动会出现错位,增加样式: 每个formitem中只能写一个校验 参见例子 一行写两个 Row一行,Col两个即两列总共24 上述选中的可以显示为20页/条 描述一个自己思路转不过来的坑----- 问题描述: 往往optionDatas是一个对象数组,同时,显示的是text,value是一个id之类的值,但是在选中值后,我们某时会需要取得选中的这条数据中的其他值如params,此时,思路需要转坑---value可以改, value={index} , handleChange 时,选中的 params 为 optionDatas[index].params ; (复杂(或者多个select时)时可以使用 value={ {index} } ,此时split("-")可以拿到id和index。) Dropdown的menu是一个组件时,点击item之后,下拉框并不会自动收起,解决办法,Dropdown和menu写在一个组件中。2023-07-17 17:07:401
antd中的表格可以监听更深层次的对象吗
antd中的表格可以监听更深层次的对象。antd 可编辑的table 组件,点击提交后数组中还会有数据,在input中使用过onInput,onChange,onBlur,ref绑定,在form表单的input框内输入的值不能被form获取,导致输入了内容依然会报未输入现象。input框实时监听清空红色input框的数据。2023-07-17 17:07:471
element-ui和antd-vue哪个更好用
Element-ui是饿了么旗下出的一款 为设计师、开发者、产品经理开发的基于Vue的桌面端UI组件库;Antd是 蚂蚁金服 出的一款服务于企业级产品的设计,更专注于用户体验。个人建议:小项目用Element-ui;大项目用Antd2023-07-17 17:08:202
antd v3 升级 v4
antd v4 使用hook对组件进行了升级,react项目使用hook的话升级v4会比较好。 antd V4 提供了一个 codemod cli 工具 @ant-design/codemod-v4 以帮助快速升级到 v4 版本。 废弃的组件则通过 @ant-design/compatible 保持运行(从 @ant-design/compatible 引入的老版本 Form 组件,样式类名会从 .ant-form 变成 .ant-legacy-form)如果进行了样式覆盖,需要进行调整。 通过 npx 直接运行 npx -p @ant-design/codemod-v4 antd4-codemod src 或者全局安装 使用 npm npm i -g @ant-design/codemod-v4 或者使用 yarn yarn global add @ant-design/codemod-v4 antd4-codemod src 以上升级完成 需要注意组件配色问题,如进行了样式覆盖需要对应处理。2023-07-17 17:08:351
关于antd如何在表单外点击触发表单验证的问题
需求: 由于业务需要,表单过大的问题,我把表单和提交按钮分开成了两个组件,如图: 解决思路: 1.点击按钮时告知父级这一行为: 按钮组件 传送门: https://www.kancloud.cn/ppyy321/react/273596 2.父级接收子组件传递的信息 子组件接收到这个方法后把this回传给父组件,this.child是父组件接收到的this挂载到child上面,这样子this.child就是子组件的this,如此就能直接操作子组件了 传送门: https://juejin.im/post/5c26137d5188257dc54af75c 4.最后一步:我们就能在父组件里直接操作子组件的提交事件啦 这是我的解决方法,写的有点乱,如果有更好的解决方法,欢迎分享~2023-07-17 17:08:421
在使用antd遇到的不常见问题(一)
antd的select、DatePicker、TreeSelect、AutoComplete组件需要注意页面滚动会导致下拉框也随之移动,如下图:日期组件可以通过getCalendarContainer属性来控制下拉框显示位置。具体使用getCalendarContainer={trigger => trigger.parentNode} 其它组件通过getPopupContainer来阻止下拉框随页面滚动,写法同上2023-07-17 17:08:481
antd使用pro-components时总是提示ReferenceError: process is not defined?
这个错误的原因是:在浏览器环境中,并不存在 Node.js 中的 process 全局变量,而 Ant Design Pro-Components 中的一些代码可能会使用到 process 变量,因此在浏览器环境中会出现这样的错误。解决方法:可以使用一个简单的解决方案,即在入口文件中添加以下代码:global.process = {env: {NODE_ENV: "production",},};如果你使用了 webpack,可以在 webpack 配置中添加以下代码:module.exports = {...plugins: [new webpack.DefinePlugin({"process.env": {NODE_ENV: JSON.stringify("production"),},}),],...};这样就可以解决 ReferenceError: process is not defined 错误了。2023-07-17 17:08:561
antd下载无文件,网页变乱码
操作方法是:1、在乱码网页中点击右键。2、在弹出菜单中选择【编码】。3、在【编码】下级菜单中选择Unicode(UTF-8)或中文(简体)(GBK)试试。目前大部分中文网页都是这两种编码。网页乱码出现通常是因为网页开发者没有按照规范来设置网页编码,浏览器打开这类网页的时候自动按照默认的编码来打开导致的。2023-07-17 17:09:031
FGA25N120ANTD的基本参数:
封装: TO-3P基本参数:晶体管类型:IGBT集电极直流电流:50A饱和电压, Vce sat 最大:2.5V最大功耗:312W电压, Vceo:1200V工作温度范围:-55°C to +150°C封装类型:TO-3PSVHC(高度关注物质):Cobalt dichloride (18-Jun-2010)上升时间:50ns功率, Pd:312W功耗:312W封装类型:TO-3P晶体管极性:NPN最大连续电流, Ic:50A电压, Vces:1200V电流, Ic @ Vce饱和:25A电流, Icm 脉冲:75A表面安装器件:通孔安装SVHC(高度关注物质)(附加):Bis (2-ethyl(hexyl)phthalate) (DEHP) (18-Jun-2010)2023-07-17 17:09:111
antd怎么读
拼写错误吧2023-07-17 17:09:243
Next.js中使用antd组件
Next.js中不能直接使用css,需要我们自行解决: (1)需要安装 @zeit/next-css : npm install --save @zeit/next-css (2)安装成功,需要在根目录建立 next.config.js (3)重启项目 (1)先安装Ant Design 库: npm install --save antd (2)再安装babel-plugin-import: npm install --save babel-plugin-import 目的:只加载项目中用到的模块,这就需要我们用到一个 babel-plugin-import 文件,配置好了 .babelrc 就不会把Ant Design打包到生产环境。 (3)重启项目 (4)在需要的页面引入2023-07-17 17:09:431
如何控制 antd中表单里面的宽度
给每一列一个固定的宽度,比如你的单号和时间这种就可以设置为能显示最长字符的宽度。退订号码这种也限制一个宽度,不够的情况下让他自动换行。2023-07-17 17:09:521
Antd Modal confirm确认框的content内容允许换行么
文档中已经说明了content的类型是element or string, 因此可以:content: (<p>Hello <br /> world.</p>)2023-07-17 17:10:001
antd 能用jQuery吗
Ant Design Of React 是基于 React 的一套UI组件库,React 框架虽然不提倡嵌套使用 jQuery 但是还是可以用的。2023-07-17 17:10:081
Antd之自定义Table行背景颜色
现在业务上有个需求,需要表格内某项库存数量为0时,该行背景变为红色 根据Antd 的官方文档,查看相关的API antd Table 首先定义好需要的类名 然后根据条件判断添加类名 最后效果2023-07-17 17:10:151
antd树选择组件筛选功能(Tree&TreeSelect)
filterTreeNode:是否根据输入项进行筛选,默认用 treeNodeFilterProp 的值作为要筛选的 TreeNode 的属性值 function(inputValue: string, treeNode: TreeNode) (函数需要返回 bool 值)2023-07-17 17:10:211
antd 的 form resetFields
关于antd中 react 的 form 表单的赋值和重置的问题 如果你的表单后续需要重置,那么在给表单赋值的时候,需要用 以上说明:表单在赋值时不要用 setState 给表单赋 initValues, 这样很可能会使表单的值无法清空,下面是错误的使用方式2023-07-17 17:10:291
使用antd自制时间范围选择器
antd的TimePicker时间选择框不能定义超过 23时、59分及59秒 对于普通的时间选择足以应付,但如果对于赛事相关的时间选择就很不方便,赛事通常以90分钟这种量级计算,那么TimePicker就不能满足我们的需求了 所以我使用select组件重新制作了一下,效果如下 虽然很不完善,不过大体算满足了需求,实现起来也很简单,把四个select组件拼接一下就ok了 render中的循环创建option 样式就根据个人喜好自己制作吧2023-07-17 17:10:361
从0搭建React+antd+TypeScript+Umi Hooks+Mobx前端框架
因为现在公司的主要技术栈是React,所以也想着能够搭建一个好的React前端框架,方便在工作中使用;框架在打包过程也做了优化,多线程,拆包,缓存等等手段提升打包速度和质量。主要用到的库包括: 创建带TypeScript模板的react-app,推荐使用yarn,接下来我也主要以yarn做例子 然后在项目根目录创建一个 craco.config.js 用于修改默认配置。antd按需加载以及自定义主题 重新打包就可以了, 所有的主题配置在这里噢 这里利用React-router做路由,同时也会根据用户角色,做权限处理;只有当角色和路由允许的角色一致时才可以访问和展示。 新建router下新建indext.tsx 用于渲染页面 引入Router/index.tsx 新建hasPermission.ts,如果页面 roles 包括用户的角色则返回true,在渲染menu和子页面的时候就根据这个值渲染页面。 比如Home页面,渲染子页面的逻辑: 在这里 SubPages1 下面的 page1 就无法展示出来和访问,如果直接输入路由也会访问页面不存在,因为page1允许的角色 user 而我们角色是 admin 所以无法展示。useImmer 很好的解决了ReactHooks中的赋值的性能问题,可以单独更新某个对象的某个属性。 上面的赋值方法也可以写到一起,效果是一样的: Umi Hooks 是一个 React Hooks 库,致力提供常用且高质量的 Hooks。提供了非常多的Hooks组件,比如上面使用的 usePersistFn ,他的作用:在某些场景中,你可能会需要用 useCallback 记住一个回调,但由于内部函数必须经常重新创建,记忆效果不是很好,导致子组件重复 render。对于超级复杂的子组件,重新渲染会对性能造成影响。通过 usePersistFn ,可以保证函数地址永远不会变化。Umi Hooks功能还是非常强大的,有很多功能很强大的API。大家可以去官方文档看看 https://hooks.umijs.org/zh-CN/hooks/life-cycle/use-update-effect 。 自定义 hooks 其实在我们的开发工作中,还是很常遇到的。 hooks 的好处就是可以抽离公共方法,像组件一样的随意使用,对于快节奏的开发工作还是很舒服的,比如你觉得 react hooks 或者 umi hooks 的api,不能满足自己的需求,也可以自己创新一些api。我这里举个例子,大家写 class 组件写的很多的话,会经常用的 this.setState() ,大家都知道 this.setState() 是异步执行,你无法直接拿到最新的 state 。 hooks 中的 useState 同样也是异步的,你无法直接获取到最新的 state ,所以我自己写了一个 useSetState 方法,用于在修改完状态后能够立即拿到最新的 state 。 我们在src/hooks文件夹下新建 useSetState.ts 使用的方式也很简单,基本和useState一致,只是在setState的时候提供一个回调函数。 这就完成了带回调的 useSetState hooks 的编写,不过这种写法不太推荐在 hooks 中使用,建议需要获取最新的数值都在 useEffect 或者 useUpdateEffect(umi hooks) 中去。 状态管理选择的Mobx,Mobx和Redux我都用过,不过当我习惯用Mobx后,就感觉还是Mobx更方便一些,所以更喜欢在项目中用Mobx,现在Mobx已经更新到5.0版本了,不过5.0版本并不支持ie11,所以如果想要兼容性可以选择4.0的版本,或者Redux。 这里推荐一个针对Mobx的库, mobx-react-lite :它是基于 React 16.8 和 Hooks 的 MobX 的轻量级React绑定。 这个主要影响的是调用方法的形式,对于Mobx的书写是一样的,比如写一个加减数值: 这里你的typeScirpt可能会编译不了,会报错:Experimental support for decorators is a feature that is subject to change in a future release. Set the "experimentalDecorators" option in your "tsconfig" or "jsconfig" to remove this warning. 解决方法是在 tsconfig.json 加入配置: 完毕以后,一定要把 storeProvider 包裹所需要共享状态的页面,我这里直接放到app.tsx 剩下来就仅仅是调用的事情了: 此外axios的配置应该大家都知道,所以我这也不多说了,具体在我的源码里面也有,utils下的axios.ts 加入了打包分析 webpack-bundle-analyzer speed-measure-webpack-plugin 加入了打包进度条 webpackbar 加入了打包压缩 compression-webpack-plugin terser-webpack-plugin 还对包进行拆包 开发环境的域名代理 devServer 加快打包速度,还可以考虑删除antd-icons,单独去iconfont网站下,按需引入。不然打包会费很多时间 引入dotenv-cli 新增开发环境配置文件 .env.development 和 .env.production 两个文件 然后修改package.json中的启动脚本: 现在 yarn start 或者 yarn build 就会根据环境配置来处理。 还有一些细节的调整,会尽力将这个框架更加完善的。 github地址: https://github.com/Benzic/React-typescript-umihooks-mobx 欢迎star 和提意见2023-07-17 17:11:011
React使用less module修改antd样式
react项目使用less,开发中需要修改antd样式,但又不需要全局修改,记录一下解决方案。 styleName 是外部包裹的className,ant-drawer-content 是antd的样式。 :global{}包裹可以解决module下css样式不被改变名称,styleName包裹,保证只在该div样式下生效。2023-07-17 17:11:211
修改antd级联选择器(cascader)
注:options:为数据源 defaultValues:默认显示的选中项 注: displayRender={(labels, selectedOptions) => this.displayRender(labels, selectedOptions)} 是用来控制选择后的title显示,因为我们将label改成了一个对象,所以 defaultValue={defaultValues} 不会生效, value={defaultValues} 也同样不生效2023-07-17 17:11:281
fga25n120antd,最佳工作频率是多少? 不要复制技术参数的! 最好有实际应用电路图,如果答案满意将格外加
这种管子是IGBT管,参数上说驱动频率大概是0-----40KHZ,我却用该管最大工作频率超过200KHZ,之所以说超过两百千赫兹,是因为我的万用表频率计最多200KHZ,我用的信号源是自己做的双管ZVS,万用表测的时候超出量程;但我在负载端接了灯泡,频率超过100KHZ后,灯泡的亮度有在慢慢衰减,到两百以后明显变暗,管子功率损耗增加明显,但任然有输出。电磁炉一般的频率都在35+----60-KHZ的工作频率,我认为你如果需要高频驱动IGBT,建议频率不要超过80KHZ,这样既能得到较好的输出,又能使得管子的损耗较小2023-07-17 17:11:371
react中antd每当打开不一样的弹窗时,不能更新弹窗的内容
select里面的内容是上一个弹窗里面内容。 大概最主要的原因是,onChange事件里面需要写this.setState, setState本质是通过一个队列机制实现state更新的。执行setState时,会将需要更新的state合并后放入状态队列,而不会立即更新state,队列机制可以批量更新state。如果不通过setState而直接修改this.state,那么这个state不会放入状态队列中,下次调用setState时对状态队列进行合并时,会忽略之前直接被修改的state,这样我们就无法合并了,而且实际也没有把你想要的state更新上去。2023-07-17 17:11:441
2020-09-23 Antd Table的auto布局和fixed布局
参考 https://zhuanlan.zhihu.com/p/137218174 antd table内部使用的最基本的知识还是浏览器的原生html属性table。Antd默认使用了table-layout:auto,只有当表格需要加不换行功能或增加固定列时才会转成table-layout:fixed 表格宽度 (TW) :auto, 固定表格宽度:百分比,固定长度 表格真实宽度(realTW) 列宽度 列真实宽度(colW) 单元格宽度 列设置顶宽 单元格内容宽度 单元格内容最小宽度 auto模式下,有四种宽度会影响表格布局 antd的表格默认是auto的 fixed的布局是不会受单元格内容控制的,是什么就是什么2023-07-17 17:11:511
create-react-app项目所遇问题总结之antd引入和样式不生效问题解决
以下为学习react技术栈开发过程中,遇到的问题以及解决方法总结。各位看官请往下瞧!☆u301c(ゝ。u2202) 在根目录下的package.json的label下的presets后面添加 如下所示: 在根目录下新建文件.babelrc,再将package.json中的“babel”对象全部删除。在.babelrc中配置 再到命令行执行 将react-scripts的配置释放出来。 之后, 再到config/webpack.config.js文件中全局搜索找到babelrc配置项,将其设置为true(只有设置为true,才会从.babelrc中去读取配置),默认为false。 快去试试吧! 解决: 若有请去掉这个配置,再重启,就ok了 原因: getCSSModuleLocalIdent是让css模块化的配置,就是说配置上后,你要在页面中使用css,得这样用 使用"对象."的方式获取class。 因为加上了getCSSModuleLocalIdent,而antd组件中css并不是这样引入使用的,所以导致了class没生效。2023-07-17 17:11:571
antd中如何t调整模态框组件中title的位置?
<Modal title=`<CustomTitle className="title">自定义标题</CustomTitle>` />antd的modal接受string和ReactNode两种参数。2023-07-17 17:12:041
【React】antd的form表单的自定义校验规则的用法
在用到antd的Form组件的时候,可能会用到自定义的规则,以我的项目为例:在输入名称的时候需要请求接口,校验的内容是后台返回的内容,所以这个时候需要用到自定义的校验规则 那么具体的写法如下:将validator放在rules的数组中 调用的方法如下:当value在变化的时候请求接口,通过接口返回的值传给callback回调函数 具体可以参考GitHub上的这篇文档: https://github.com/ant-design/ant-design/issues/51552023-07-17 17:12:111
Antd 最简切换主题色
按antd官方文档,要动态切换主题不能引用@import "~antd/dist/antd.less";而需要引用@import "~antd/dist/antd.variable.min.css"; 引入完毕后,配置动态主题色Config。(此处我使用umi的useModel作为状态管理,有用Redux的也可以换成Redux) 配置好后,切换主题色。改变状态参数theme即可。 例如: 切换主题一共就这三处地方,极为简单。 该项目地址以上传 github 。2023-07-17 17:12:291
antd中的表格可以监听更深层次的对象吗
antd中的表格可以监听更深层次的对象。antd 可编辑的table 组件,点击提交后数组中还会有数据,在input中使用过onInput,onChange,onBlur,ref绑定,在form表单的input框内输入的值不能被form获取,导致输入了内容依然会报未输入现象。input框实时监听清空红色input框的数据。2023-07-17 17:12:431
antd相关升级问题
首先如果npm不能用就用yarn,npm好出错 然后如果要升级antd版本: yarn add antd@latest; 补充:这个命令适用于很多更新,yarn add xxxx@latest2023-07-17 17:12:501
antd-路由跳转方式
1、直接点击跳转页面: 2、点击按钮之后跳转: 3、browserHistory带参数跳转 4、关于路由获取参数的问题: routerRedux路由跳转2023-07-17 17:12:581
antd怎么判断是否选中option
*getSiteOptionsAdmin({ payload }, { call, put }) {try {const { data } = yield call(notice.getSiteOptionsAdmin, payload);if (data.code === 200) {const menudata = [];menudata.push(<Select.Option key={0} value="0">全部</Select.Option>);for (let i = 0; i < data.info.length; i++) {menudata.push(<Select.Optionkey={data.info[i].id}value={data.info[i].id.toString()}>{data.info[i].title}</Select.Option>,);}yield put({ type: "save", payload: { getSiteOptionsAdmin: menudata } });} else {message.error(data.message);}} catch (error) {console.log(error);}},全部选项就是value值为0 的option值export default connect((state) => {return {activityList: state.activity.activityList,menudata: state.notice.getSiteOptionsAdmin,};})(Form.create()(QuestionList));<Select showSearch placeholder="请选择站点" style={{ width: "160px" }} optionFilterProp="children" onChange={this.handleChange}><Option key={0} value={0}> 全部</Option>{this.props.menudata.length > 0 ? this.props.menudata : []}</Select>,2023-07-17 17:13:041
antd 如何设置 a-form-item-rest
1、直接使用字符串类型是最常见的这样的命令。2、自定义label使用插槽自定义label。以上两种就是对a-form-item-rest命令的举例使用。2023-07-17 17:13:121
FGA25N120ANTD和FGA25N120AND有什么区别
三极管fga25n120antd的极性是怎样排列的 fga25n120antd不是三极管,是IGBT管子,中间的是控制极,漏极,源极2023-07-17 17:13:261
antd多选框选项太多数据量太大出现页面卡顿怎么解决
单纯渲染dom的话, 感觉几百几千条选项都不会有什么影响.可能是你的渲染方法有问题.还有假如真的有很多条选项建议写一个模态组件中放置选择框 而不要用select, 这样不便于操作.2023-07-17 17:13:342
antd之pagination分页居中和rowKey无理取闹
原因是antd在样式中将该组件设置为 float: right 由以上我们得知内联样式的优先级最高,因此我们采用内联样式的写法进行css定义,在pagination属性中定义style属性:record 为每一条数据, index 索引2023-07-17 17:13:521
使用antd+vue实现动态菜单栏,刷新过后仍然选中,含有二级分类自动展开
这个比较简单 antd的API中提供了一个defaultSelectedKeys参数 在菜单标签中设置 defaultSelectedKeys属性指向this.$route.path即可完成 这时需要用到两个API openKeys 当前展开的 SubMenu 菜单项 key 数组 openChange 展开/关闭的回调2023-07-17 17:13:591
antd动态渲染的折叠面板默认打开失效
升级一下版本。渲染用到的硬件主要是CPU,应该是他不给力吧。也有其他的多种原因,比如材质的模糊高光,加上强烈的灯光,渲染就会卡,或者玻璃等加上强灯光也会卡,比如水晶吊灯。有时灯光非常强烈渲染曝光,就会卡的很。或者模型有某些错误也会卡住卡死。渲染设置时,鼠标不能操作太快,免得点了不该点的自己又不知道。渲染时少开其他不必要的程序。折叠面板默认折叠时,无法渲染Dom,而在3.x版本中才提供了的设置参数,可我不能升级版本。因为原始系统的业务代码比较复杂,试了很多方法,只能解决部分问题,不能完全解决问题。2023-07-17 17:14:051
antd在form中使用上传组件
此时提交的表单中 file 为文件: 文件内容在这里2023-07-17 17:14:121
修改antd组件为什么要:global?这是less的还是antd的?
CSS Modules 允许使用:global(.className)的语法,声明一个全局规则。凡是这样声明的class,都不会被编译成哈希字符串。网页链接2023-07-17 17:14:201
实现antd中menu多级菜单(大于二级)点击菜单,收起其他菜单
具体实现如下:(antd版本4.19.0)2023-07-17 17:14:281
vue antd 月份禁用
发现27号被禁用。antd是蚂蚁集团旗下开发的一款优秀的前端UI框架,目前这个框架支持Vue和React。这个框架主要用于开发企业级的后台产品,如果想开发移动端应用的话可以选择Ionic。2023-07-17 17:14:351
Vue3+Antd 修改antd主题色,配置全局css
先贴个官网的图片 然后说说整体流程... 然后重新 npm i 再重新运行,就解决了 奉上参考资料 Vue-cli3.0配置全局less vue antd 按需加载 报错.bezierEasingMixin()2023-07-17 17:14:421