Element Plus 正式版發布啦!

大家好,我是若川。祝大家新年快樂,開工大吉。公眾號回復「紅包」可以領取源碼共讀紅包封面。

持續組織了6個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。

本文經作者@iamkun 授權轉載
鏈接:https://juejin.cn/post/7061850934095609863


今天,我們非常高興地宣布 Element Plus 穩定版正式發布。自第一個 commit 起,經過 1 年零 7 個月的持續迭代開發,總計 2635 commits,經過 256 位貢獻者所提交的 2494 個 PR,137 個 Alpha 與 Beta 版本,在社區每一位同學的參與幫助下,Element Plus 的第一個正式版終于和大家見面。

1重大更新

TypeScript 與 Vue 3

Element Plus 使用 TypeScript 與 Vue 3.2 開發,提供完整的類型定義文件。并使用 Composition API 降低耦合,簡化邏輯。

兼容性

由于 Vue 3 不再兼容 IE,所以 Element Plus 也提高了最低兼容的版本。

79bf80b57a0ce80d6f78ef7a232ad4e8.png291655f93c0d7d00300795a4c29584f5.png2920dd8f9158274d0e0a123cc7b56ee9.pnga01de1b0378f8f22512925a1e2cbf0db.png
Edge ≥ 79Firefox ≥ 78Chrome ≥ 64Safari ≥ 12

如果想在低版本瀏覽器上正常使用 Element Plus,請自行使用 Babel、ESBuild 或其他轉換工具,并引入相應的 polyfill。值得注意的是,Element Plus 使用到了 ResizeObserver,如有兼容性需求需要您自行引入 resize-observer-polyfill[1]。詳情請參閱 ResizeObserver 的兼容性[2]

ESM 與 CJS

Element Plus 同時支持 ESM、CJS 與 UMD 格式。一般情況下無需留意導入的格式,構建工具會自動匹配并轉換成目標格式,同時無需額外配置,自身支持按需加載能力。

設計

組件大小體系由 default/medium/small/mini 切換為更自然的 large/default/small,以 default 為基礎,需要加大則選擇 large,需要縮小則選擇 small

padding 方面則優化為更通用的 4px 體系,采用 4/8 px 作為原子單位控制整個系統的 padding 一致性。即大組件 padding 也大,小組件 padding 也小。具體細節請參閱 size 修改說明[3]

圖標

為了使用 Element Plus 內置的圖標,用戶往往需要引用一個 ~75KB 的字體文件,以及 1 個額外的網絡請求,這個在大多數情況下屬于完全不需要的開銷,對體積以及首頁加載速度很在意的用戶來說,這屬于是一個長久的痛點。

因此我們把所有的 Font Icon 都改為了 Inline Vue SVG 組件[4],也就是說所有的組件都是跟隨你的打包代碼一起放在同一個請求內,這樣就不會產生額外的網絡請求去請求字體文件,也不會帶來網絡請求失敗導致字體渲染不出來的小方塊,并且圖標的清晰度也會更好。

您可以下載舊版本的字體文件來讓老項目保持兼容。

  • unpkg.com/element-plu…[5]

  • unpkg.com/browse/elem…[6]

配置

Element Plus 新增了一個全局配置管理的組件 config-provider,以替代 Element UI 的全局配置 Vue.prototype.$ELEMENT。您可以通過以下兩種方式來進行全局配置。

//?方式一?main.ts
import?{?createApp?}?from?'vue'
import?ElementPlus?from?'element-plus'
import?App?from?'./App.vue'createApp(App).use(ElementPlus,?{?size:?'small'?}).mount('#app')//?方式二?APP.vue
<template><el-config-provider?:size="small"><el-button>Button</el-button></el-config-provider>
</template>

如需了解更多 API 變動細節,請參閱 Element Plus 不兼容變化和升級指南[7]

新組件和設計資源

在遷移完現有組件的基礎上,正式版本中增加了 Space, Skeleton, EmptyAffix 四個全新組件豐富開發者的選擇。以及增加了使用虛擬滾動的 Select-V2 組件來優化長列表的展示性能問題。

同時我們也制作上傳了包含所有組件信息的最新 Figma 設計資源[8] 文件,方便產品經理和設計師的使用。

正式版的發布意味著整體遷移適配工作的結束,API 設計基本穩定,但這只是一個開始。在后續的迭代工作中,我們將集中精力在優化交互細節,新增額外功能上,包括但不僅限以下內容:

暗色主題

正式版中,我們集成了 CSS Variables 的全新能力,這將比之前的 SASS 變量配置模式更方便且性能更好。在這套能力的基礎上,我們正在緊張開發暗色主題,很快會在后續版本中與大家見面。

高性能表格組件

在 Beta 發布的時候,我們提到過提供使用虛擬化能力的表格,來優化大數據量情況下的 Table 組件性能。但本次的正式版發布暫未包含這部分功能,而會在后續的迭代中加入。一直沒有把這個功能落地下來有很大一部分原因是,我們一直在探索到底哪一種方式是更加適合用戶的。是我們直接加入虛擬化的表格渲染引擎,亦或是我們提供渲染接口讓用戶自己添加虛擬化的組件(類似 vue-virtual-scroller 這樣的組件)來自行渲染。后續我們會參考結合現在市面上相關組件的實現,提供一套解決方案,讓 Element Plus 的 Table 組件更加好用。

2相關生態

  • Element Plus Icons[9] - Element Plus 圖標集合。

  • Element Plus Playground[10] - 您可以點擊此處[11]嘗試!😆

  • Element Plus Vite Starter[12] - Vite 快速上手模板。

  • unplugin-element-plus[13] - Element Plus 按需加載樣式插件。

  • Design Materials[14] - Element Plus 社區的 Logo、表情包與其他資源。

  • awesome-element-plus[15] - Element Plus 相關庫、模板與資源的列表。

可點擊閱讀原文查看更多參考資料

[1]

https://www.npmjs.com/package/resize-observer-polyfill


ba4019b855001e8fb369d3bac89fb3a5.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助3000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

470b37aa363e227d53ed002cb2ae930f.png

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274945.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274945.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274945.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大型網站技術架構(一)大型網站架構演化

2019獨角獸企業重金招聘Python工程師標準>>> 看完了有一本書&#xff0c;就應該有所收獲&#xff0c;有所總結&#xff0c;最近把《大型網站技術架構》一書給看完了&#xff0c;給人的印象實在深刻&#xff0c;再加上之前也搞過書本上講的反向代理和負載均衡以及ses…

永不示弱_永不過時的網頁設計:今天和2000年的在線投資組合

永不示弱重點 (Top highlight)Philippe Starck, a renowned industrial designer, once said:著名的工業設計師Philippe Starck曾經說過&#xff1a; “A designer has a duty to create timeless design. To be timeless you have to think really far into the future, not …

如何使用 React 創建一個作品集網站

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。今天&#xff0c;你…

博弈論入門 HDU 1850

Problem Description 一年在外 父母時刻牽掛春節回家 你能做幾天好孩子嗎寒假里嘗試做做下面的事情吧陪媽媽逛一次菜場悄悄給爸爸買個小禮物主動地 強烈地 要求洗一次碗某一天早起 給爸媽用心地做回早餐如果愿意 你還可以和爸媽說咱們玩個小游戲吧 ACM課上學的呢&#xff5e;下…

新的一年,如何高效學習前端前沿知識~

今天強烈推薦一些互聯網行業內優質技術公眾號&#xff0c;互聯網人大部分都關注了&#xff0c;包括目前主流的公司技術團隊號&#xff0c;技術社區號&#xff0c;個人技術號&#xff0c;這些號行業深耕已久&#xff0c;會給你帶來事半功倍的效果。公眾號那么多&#xff0c;文章…

RabbitMQ學習總結(7)——Spring整合RabbitMQ實例

2019獨角獸企業重金招聘Python工程師標準>>> 1.RabbitMQ簡介 RabbitMQ是流行的開源消息隊列系統&#xff0c;用erlang語言開發。RabbitMQ是AMQP&#xff08;高級消息隊列協議&#xff09;的標準實現。 官網&#xff1a;http://www.rabbitmq.com/ 2.Spring集成Rabbi…

UIScrollView實現不全屏分頁的小技巧

瀏覽一系列圖片時&#xff0c;我們會經常使用UIScrollView來進行實現&#xff0c;因為其自帶的pagingEnabled屬性&#xff0c;可以非常方便的自動支持手勢左右輕掃切換切換頁面。pagingEnabled不過最近做的一個產品&#xff0c;設計的效果有所不同&#xff0c;希望每一頁圖片的…

談談對java中分層的理解_讓我們談談網頁設計中的卡片設計

談談對java中分層的理解“I want a card”, this is the first demand point that the customer said in the last issue when talking to me about demand. There is no doubt that the card type is excellent for both PC and mobile phones. From online shopping malls to…

1-jdk的安裝與配置

1- Jvm、jdk、jre之間的關系 JVM&#xff1a;Java虛擬機&#xff0c;保證java程序跨平臺。&#xff08;Java Virtual Machine&#xff09;JRE&#xff1a; Java運行環境&#xff0c;包含JVM和核心類庫。如果只是想運行java程序&#xff0c;只要安裝JRE即可。&#xff08;Java R…

來自未來,2022 年的前端人都在做什么?

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。來自上帝視角的總覽…

模擬

狀態壓縮 uva 12368 - Candles 2011 - Dhaka 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<string> 5 #include<algorithm> 6 #include<math.h> 7 #include<map> 8 #include<queue> 9 using…

qt ui指針和本類對象_您需要了解的有關UI設計的形狀和對象的所有信息

qt ui指針和本類對象重點 (Top highlight)第1部分 (Part 1) So you’re thinking about becoming a UX/UI designer, but are afraid to start? Don’t worry. It’s easier than you think. You only need a solid foundation and a lot of dedication. I can’t help you wi…

移動端h5頁面復制粘貼(兼容到ios9安卓4.0.0)

項目使用jquery框架純h5復制粘貼解決了iscroll4阻止所有默認事件&#xff0c;長按無法彈出復制菜單項目需要寫一個上拉加載頁面&#xff0c;頁面中的物流信息需要可復制粘貼&#xff0c;同時需要兼容到ios9和安卓4.0.0, 經過大量搜索&#xff0c;最終使用clipboard。代碼如下 &…

2021 大前端技術回顧及未來展望

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列2021 …

最近想讀的書想做的事

越來越多了&#xff0c;但是總是還沒開始&#xff0c;一天拿出一小時&#xff0c;周末拿出一上午。加油加油 2012/3/27 C標準庫 C專家編程Expert C Programming Deep C Secrets CodeCraft編程匠藝&#xff1a;編寫卓越的代碼 代碼之美 重看 編程珠璣 編程卓越之道 卷1 卷2 代碼…

skysat重訪周期_重訪小惡夢

skysat重訪周期You awaken with a start, the nightmare still fogging your mind with terror. Rain falls through cracks in the ceiling above you. The room is sparse, metallic, desolate. Searching the pockets of your yellow raincoat, you find only a cigarette l…

Python這些位運算的妙用,絕對讓你大開眼界

位運算的性能大家想必是清楚的&#xff0c;效率絕對高。相信愛好源碼的同學&#xff0c;在學習閱讀源碼的過程中會發現不少源碼使用了位運算。但是為啥在實際編程過程中應用少呢&#xff1f;想必最大的原因&#xff0c;是較為難懂。不過&#xff0c;在面試的過程中&#xff0c;…

記一次 Vue2 遷移 Vue3 的實踐總結

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列一、V…

改錯3-38

#include<iostream.h>class time{private:int hour,minute,second;public:void settime(int h,int m,int s) { hour(h>0&&h<24)?h:0; minute(m>0&&m<60)?m:0; second(s>0&&s<60)?s:0; }void sh…

魔獸懷舊網站模塊下載_一個人的網站重新設計和懷舊

魔獸懷舊網站模塊下載Despite how I look, I’m the kind kind of person that loves to play old video games. (Full disclosure: I look exactly like the kind of person that loves to play old video games).盡管我長得很帥&#xff0c;但我還是一個喜歡玩舊視頻游戲的人…