記一次ElementUI原始碼修改過程

程式設計師眾推發表於2020-10-08

修改目的

使用ElementUI el-tree過程發現選中節點,鍵盤移動上下鍵時(key down\key up)el-tree預設高亮移動的節點,業務上需要重寫此事件。

​從官網發現該事件沒有暴露回撥介面,故想到了修改elementui原始碼,重新打包上傳到公司的npm私服。

tree

定位程式碼

​ 在chrome devtools的Elements選中節點,檢視節點的EventListener中keydown事件,可以看到該事件在element-ui.common.js中定義。發現確實是elementui自定義的事件響應,起初有懷疑時瀏覽器的預設行為類似tab鍵的功能。

image-20201008101517812

解決問題

ElementUI是開源專案,到github下載專案後修改原始碼,重新打包上傳到私服解決問題。

git clone https://github.com/ElemeFE/element.git # 使用git下載原始碼
cd element & npm install #安裝依賴

在原始碼的packages/tree/src/tree.vue中找到了對應的程式碼邏輯。

image-20201008102226127

​我們檢視原始碼後,修改成我們業務上需要的效果,或者直接簡單的註釋掉這一行程式碼。在package.json修改公司內部的element-ui版本號。

npm run dist #重新打包
npm publish --registry=http://xxx.xx/xx #釋出到公司私服

以上就是本博文的全部內容,如果對你有幫助的話,點贊、評論、轉發三連

更多資源與第一手部落格,請關注公眾號:程式設計師眾推,獲取。

image-20201008103627943

相關文章