1.0 來了
2018 年 8 月 11 日,我們發布了 Vant Weapp 的首個版本。16 個月以來,我們收到了 27 位開發者貢獻的 1000 多次提交,也處理了 1200 多個 issue,發布了 50 多個版本。Github 的 star 數從 5k 上升到了 11k,長期是 Github 上 star 數最多的第三方小程序 UI 組件庫。
現在,我們很高興向大家介紹 Vant Weapp 1.0 版本。
經過 2 個月的開發與 beta 測試,我們為大家帶來了 11 個全新的組件,重構了多個現有組件,增加了覆蓋所有組件的主題定制特性。並且,為了配合 Vant 家族的發展,正式將包名變更為 @vant/weapp。
大家可以掃描下方小程序碼體驗 Vant Weapp 1.0 示例

新版本介紹
新的組件
在 Vant Weapp 1.0 版本中,我們新增了 11 個實用的基礎組件:
- Grid 宮格,用於展示內容或進行頁面導航
- Image 圖片,增強版的 Image 標簽,支持圖片懶加載與加載失敗提示
- Circle 環形進度條,告知用戶當前的狀態和進度
- Overaly 遮罩層,用於強調特定的頁面元素,並阻止用戶進行其他操作
- Divider 分割線,區隔內容的分割線
- Sticky 粘性布局,與 CSS 中
position: sticky屬性實現的效果類似 - Skeleton 骨架屏,在待加載區域展示的占位區塊,提供界面加載過程中的過渡效果
- IndexBar 索引欄,通訊錄中的字母索引欄,用於長列表快速索引
- Uploader 文件上傳,上傳一個或多個文件
- CountDown 倒計時,用於顯示活動倒計時、短信驗證碼等
- DropdownMenu 下拉菜單,用於列表的分類選擇、篩選及排序

樣式定制
在 1.0 迭代計划確定之初,我們就不斷思考這樣一個問題 -- 該如何給用戶提供動態切換主題樣式的功能呢?
微信小程序的環境是非常特殊的。不具有動態加載代碼的機制,同時微信又限制了代碼的主包大小和總大小。傳統的基於預設的樣式定制過於臃腫,不再適合微信小程序的環境。
微信小程序自定義組件的組件模型相當於一個簡化版的 Shadow DOM,幸運的是,小程序也支持了 CSS自定義屬性 的特性。最終,我們基於CSS自定義屬性設計了樣式定制的方案,開發者使用靈活、方便,組件維護也更簡單。
從 1.0 版本開始,Vant Weapp 中的所有組件都支持通過 CSS組定義屬性 進行樣式定制,具體使用姿勢可查看相關文檔

不兼容更新
1.0 版本中包含少量不兼容更新,主要是命名調整和移除個別屬性。對於正在使用 0.x 版本的項目,請按照更新日志依次檢查,大部分項目可以無痛升級。
未來
Vant Weapp 會積極探索與騰訊雲開發結合的可能性,為大家帶來更好的使用體驗。不久,我們將再次與大家見面。
最后
感謝社區長期以來為 Vant Weapp 提供的貢獻與反饋,讓我們始終與開發者站在一起。如果您在使用 Vant Weapp 的過程中遇到任何問題,歡迎在 Github 向我們反饋。
Vant Weapp 1.0 的主要貢獻者為(按首字母排序):@Andyliwr @aphasic @chenjiahan @creeperdance @Eamonnzhang @Fyerl @JakeLaoyu @jerryni @kongyeah @Lindysen @linrz @rex-zsd @thoamsy @ylethe 。
歡迎關注“有贊coder”公眾號!
