从品牌网站建设到网络营销策划,从策略到执行的一站式服务
公司开发框架使用的是angular5,为了提高开发效率,将ng-zorro-antd
库引入项目。在开发过程中,发现该库的月份选择有问题(ng-zorro官网可复现),具体表现如下:
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比民丰网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式民丰网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖民丰地区。费用合理售后完善,十余年实体公司更值得信赖。
由上图可以看出,月份选择出现了两个三月、两个五月、两个十二月。这个bug不仅出现在月份选择,即便是日期选择,也可以先选月份,依然会存在这个bug。
翻看了ng-zorro-antd
的源码,发现是生成月份列表的时候,月份计算错误。相关代码如下图:
开发者的想法应该是,通过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。
在node_modules下找到ng-zorro-antd
文件夹,打开其下的ems5文件夹下的antd.js文件,修改14387、14388及14423行相关的代码。如下图所示:
重启项目可解决该bug。
在最新版本的ng-zorro-antd@8.1.2
中,该bug已解决。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图