溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ng-zorro-antd@0.7.1 修復月份選擇bug

發布時間:2020-07-20 11:13:48 來源:網絡 閱讀:334 作者:youthfighter 欄目:web開發

背景

公司開發框架使用的是angular5,為了提高開發效率,將ng-zorro-antd庫引入項目。在開發過程中,發現該庫的月份選擇有問題(ng-zorro官網可復現),具體表現如下:

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已解決。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女