antd问题记录
首发:antd问题记录 · 语雀
为保证最佳的阅读体验,建议前往语雀体验[比心]3.x到5.x版本差异getFieldDecorator改用Form.Item
在3.x版本的时候,组件之间可以简单的进行联动,例如Select组件选择其他值之后,与之关联显示的内容会随之变化,但4.20.0版本之后,还需要加一个 Form.useWatch监听字段变化 form校验多个规则显示问题
可能会有3种办法,一是rules全部自己写validtor校验,这个方案感觉有点蹩脚但也能用用,不是最佳选择;二是官方推荐的 option;三是也是最简单的加一个 validateFirst。 form校验的callback
3.x版本可以使用callback和Promise,到了5.x版本之后,会有error提示:Warning: callback is deprecated. Please return a promise instead.也就是callback已废弃,请使用promise代替。form的label属性ts类型
前:string|ReactNode
后:ReactNodeSelect、DatePicker等组件出现脱离页面的情况一、场景
在开发过程中,会使用很多的Select、DatePicker等组件,当这些组件在可滚动的区域内滚动时,你会发现该组件的选项框也会跟着滚动,产生分离
二、解决方法
官方给我们提供了getPopupContainer 属性,该属性是菜单渲染的父节点 ,默认是body。只要添加该属性,设置好父节点,就可以解决这种分离。添加getPopupContainer属性// getPopupContainer={(triggerNode: any) => triggerNode.parentNode} // triggerNode:当前元素的节点 // triggerNode.parentNode:最近的父级元素节点 // 在Select、DatePicker、Cascader添加getPopupContainer属性栗子: triggerNode.parentNode} format="YYYY-MM-DD" /> triggerNode.parentNode} options={options} />
设置完成之后,发现antd4.x中Select是没有分离的 ,但是DatePicker和Cascader还是会分离。但在3.x是正常的 。打印 三个组件的triggerNode以及triggerNode.parentNode 如下。Select的triggerNode以及triggerNode.parentNode
DatePicker和Cascader的triggerNode以及triggerNode.parentNode
三个组件的triggerNode.parentNode有差异 ,DatePicker和Cascader直接找到了最外层的p,他的节点还是在最外层,导致分离。
解决方法:直接定位到本身节点 ,将getPopupContainer代码修改一番,如下:getPopupContainer={(triggerNode: any) => triggerNode}三、全局设置getPopupContainer // 一般来说,项目中会用到很多这种选择组件,那么需要全局配置。 node}> 四、全局配置后,在Modal中使用报错解决
全局配置由于版本原因,如果一个项目挂载到不同的站点导致报错,例如p站antd3.0版本和w站antd4.0版本ant3.x版本报错,4.x版本直接空白
官方API解释:全局设置getPopupContainer 触发节点,Modal 用法不存在 triggerNode导致报错
解决方法: 增加一个判断条件 { const popupContainer = document.getElementById("popupContainer") || node; if (node) { // 目前只全局处理select和picker分离问题,如其他组件分离此处添加配置 if ( node.className.indexOf("ant-select-selector") > -1 || node.className.indexOf("ant-picker") > -1 || node.className.indexOf("anticon-history") > -1 ) { return popupContainer; } } return document.body; }} > 附录
目前官方正在出解决方法,具体可看:「链接」、「链接」
卡塔尔世界杯身价最高的球队2022年卡塔尔世界杯整体身价最高的球队,毫无疑问就是来自欧洲的三狮军团。媒体公认的英格兰夺冠似乎是势在必得。今天我们就来认识一下英格兰队国家队26人大名单。门将是来自英超埃弗顿的
第5次世界杯之旅,C罗能否在淘汰赛打进第一球葡萄牙世界杯历程又到了4年一届的世界杯了,这支以C罗为代表的葡萄牙队国家队,将参加2022卡塔尔举办的世界杯,这是葡萄牙第次晋级世界杯决赛圈。葡萄牙队曾两次进入半决赛。最好的成绩是
快船超级逆转骑士,终结骑士8连胜北京时间11月8日,NBA常规赛洛杉矶快船主场迎战克利夫兰骑士,快船在末节最多落后13分的情况下完成大逆转,乔治保护下关键后场篮板,快船最终以119117险胜骑士,终结了骑士的八连
2022世界杯之五星巴西2022卡塔尔世界杯综合实力最强的球队,无疑就是来自南美大陆的桑巴军团巴西队。很多球迷认为巴西队夺冠似乎是水到渠成。今天我们就来领略一下巴西队26人大名单。门将是来自英超利物浦的全
正式告别!男篮名将低调退役,14年CBA生涯薪资破亿,曾获3座冠军谈及CBA球员高薪资待遇,球迷都会提及中国男篮名将李根,他在转会上海男篮之后,曾签下三年5000万的巨额合同,这也让上海男篮成为冤大头,从新疆转会到上海之后,李根状态呈现断崖式下滑
卡塔尔世界杯的五大看点1。梅西是否能带领阿根廷队,夺得世界杯冠军。自从2006年第一次参加世界杯以来,梅西已经四次跟大力神杯擦肩而过。2006年德国世界杯,阿根廷点球输给德国,止步八强。不过这一届世界杯
世界杯三消息梅西痛失好搭档,巴西全队号码确定,法国名单曝光随着时间的一点点向前,卡塔尔世界杯的脚步也越来越近了!在刚刚过去的一段时间里,有哪些关于世界杯的消息呢?下面一起来看一看吧!消息一洛塞尔索无缘参加世界杯,梅西痛失好搭档目前,阿根廷
正式确定!新疆男篮已经报价考辛斯,双方正在接触,有望加盟头条创作挑战赛虽然新疆男篮最近发生了一系列的变动,不过各项工作依旧是有条不紊,球队新主教练邱彪已经正式上任。在发表上任感言中,邱彪的一句昔日丹心映南粤,如今明月满天山,让他收获了不
2022赛季日职联总结神奈川双雄连续6年夺冠,静冈足球全军覆没2022赛季日职联(以下简称J1)已于上周末结束了全部34轮比赛。横滨水手在狙击川崎前锋三连冠的同时,时隔三年之后,斩获队史第五座联赛冠军奖杯。来自足球王国静冈县的磐田喜悦和清水鼓
一百个人看到我,一百个人讨厌我你,见过多少恶意?你,拥有多少偏见?其实,我们都是恶意里的一员其实,我们都爱无差别的偏见对于部份少数人而言,偏见与恶意是常态,因此他们会选择在看不见的角落里躲避灾难,窥探这个世间的
微观邢台演戏的人疯了,看戏的人平躺着而我们更像一粒尘埃邢台头条演戏的人是疯子,看戏的人是傻子。站在阳台,一直在反复来听陈奕迅的那首听一千遍后,重复的节奏,正如同我们心中的好奇和渴望,不断地被一些文艺元素来撩拨去挑逗。我以为我疯了,只是