网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

ng-zorro-antd@0.7.1修复月份选择bug-创新互联

背景

公司开发框架使用的是angular5,为了提高开发效率,将ng-zorro-antd库引入项目。在开发过程中,发现该库的月份选择有问题(ng-zorro官网可复现),具体表现如下:

创新互联专业为企业提供顺平网站建设、顺平做网站、顺平网站设计、顺平网站制作等企业网站建设、网页设计与制作、顺平企业网站模板建站服务,10年顺平做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

ng-zorro-antd@0.7.1 修复月份选择bug

由上图可以看出,月份选择出现了两个三月、两个五月、两个十二月。这个bug不仅出现在月份选择,即便是日期选择,也可以先选月份,依然会存在这个bug。

bug产生的原因

翻看了ng-zorro-antd的源码,发现是生成月份列表的时候,月份计算错误。相关代码如下图:

ng-zorro-antd@0.7.1 修复月份选择bug

开发者的想法应该是,通过setMonth()来依次获取每个月份的时间。而问题恰恰出在这里。如果当前是Wed Jul 31 2019 18:00:00 GMT+0800 (中国标准时间),那么生成一月份的数据(setMonth(0))没有问题,是Thu Jan 31 2019 18:00:00 GMT+0800 (中国标准时间),但是生成二月份的数据(setMonth(1))的时候回出问题,由于2月份只有28天,因此,代码的执行结果是Sun Mar 03 2019 18:00:00 GMT+0800 (中国标准时间),实际上已经是三月份了。

也就是说,每个月的29、30、31号,月份选择控件可以稳定的复现该bug。

解决bug

在node_modules下找到ng-zorro-antd文件夹,打开其下的ems5文件夹下的antd.js文件,修改14387、14388及14423行相关的代码。如下图所示:

ng-zorro-antd@0.7.1 修复月份选择bug

ng-zorro-antd@0.7.1 修复月份选择bug

重启项目可解决该bug。


在最新版本的ng-zorro-antd@8.1.2中,该bug已解决。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:ng-zorro-antd@0.7.1修复月份选择bug-创新互联
文章转载:http://bjjierui.cn/article/dedcjh.html

其他资讯