在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Vant 4.0正式發布,基于Vue 3的移動組件庫

OSC開源社區 ? 來源:OSC開源社區 ? 作者:OSC開源社區 ? 2022-12-13 15:16 ? 次閱讀

Vant 4.0 上周發布了正式版。發布公告寫道,這是 Vant 自 2017 年開源以來發布的第四個重要版本。

在本次迭代中,Vant 支持了深色模式,增加五個新組件,改善工具函數 API 并重構 Picker 等組件,同時繼續在輕量化和易用性方面做出改進。


支持深色模式

Vant 4.0 支持切換所有組件為深色模式。

只需要把ConfigProvider 組件的theme屬性設置為dark,即可切換為深色模式,將頁面上的所有 Vant 組件變成深色風格。

<van-config-providertheme="dark">
  
van-config-provider>
9d17c318-7a83-11ed-8abf-dac502259ad0.jpg同時,Vant 4.0 文檔也已支持切換為深色模式:9d32d84c-7a83-11ed-8abf-dac502259ad0.jpg

幾個新組件

Vant 4.0 包含以下新組件:
  • BackTop 回到頂部:返回頁面頂部的操作按鈕。

  • TimePicker 時間選擇器:用于時間選擇,包括時、分、秒。

  • DatePicker 日期選擇器:用于日期選擇,包括年、月、日。

  • PickerGroup 選擇器組:用于結合多個 Picker 選擇器組件,在一次交互中完成多個值的選擇。

  • Skeleton 骨架屏子組件:通過 SkeletonTitle、SkeletonImage、SkeletonAvatar 等子組件來自定義骨架屏。

其中,TimePicker 和 DatePicker 由舊版的 DatetimePicker 組件拆分而來,DatetimePicker 組件不再提供。你可以通過 PickerGroup 來實現同時選擇日期和時間的交互效果。9d416c86-7a83-11ed-8abf-dac502259ad0.jpg

保持輕量

Vant 4.0 的安裝體積降低 30%,包體積保持輕量。隨著 npm 生態的發展,node_modules 正在吞噬我們的磁盤空間。為了緩解 node_modules 黑洞、加快安裝速度,我們對 Vant 的 npm 依賴和構建產物進行了優化。相較于 Vant 3.6.2 版本,Vant 4.0.0 版本的安裝體積由 7MB 下降至 5MB。作為對比,社區中主流組件庫的安裝體積普遍在 15MB ~ 80MB。你可以通過packagephobia來查詢 npm 包的安裝體積。9d4fa36e-7a83-11ed-8abf-dac502259ad0.jpg在包體積上,本次更新依然加量不加價,Minified + Gzipped 后的體積保持在 70KB 以下:9d623ca4-7a83-11ed-8abf-dac502259ad0.jpg

統一主色調

Vant 4.0 統一了所有組件的主色調。在之前的版本中,Vant 組件有兩種主色調,部分組件采用藍色#1989fa作為主色調,另一部分則采用紅色#ee0a24為了保持色彩規范的一致性,我們在 Vant 4 中對主色調進行統一,所有組件均采用藍色作為主色調。9d70e2d6-7a83-11ed-8abf-dac502259ad0.jpg統一主色調后,主題定制會變得更加容易。比如,你可以覆蓋--van-primary-color這個 CSS 變量,將所有組件的主色調設置為綠色:
:root {
  --van-primary-color: #07c160;
}

按需引入方式調整

Vant 4.0 不再使用 babel-plugin-import 實現按需引入。在早期,組件庫大多使用babel-plugin-import實現按需引入,這意味著組件庫會強依賴 Babel 編譯。從 Vant 4.0 開始,將不再支持babel-plugin-import,主要帶來以下收益:
  • 不再強依賴 Babel 編譯,項目可以使用 SWC、esbuild 等現代編譯工具,進而提升編譯效率。

9d8309ac-7a83-11ed-8abf-dac502259ad0.jpg
  • 不再受到babel-plugin-import的 import 限制,可以從 Vant 中導入除組件以外的內容,比如 Vant 4 中新增的showToast方法,或是buttonProps對象:

import { showToast, buttonProps } from 'vant';
在包體積方面,移除babel-plugin-import對項目的 JS 體積不會有影響,因為 Vant 默認支持通過 Tree Shaking 來移除不需要的 JS 代碼,而 CSS 代碼可以通過unplugin-vue-components插件實現按需引入,詳細用法請參考「快速上手」

樣式變量類型提示

Vant 4.0 提供了樣式變量的類型提示。Vant 提供了 700 多個樣式變量,你可以通過 CSS 代碼或ConfigProvider組件修改這些樣式變量。在 Vant 4.0 中,我們新增了ConfigProviderThemeVars類型,以提供樣式變量的類型提示。因此在編寫 TypeScript 代碼時,你可以通過類型提示來補全主題變量名稱:9d8f7f20-7a83-11ed-8abf-dac502259ad0.jpg

Picker 組件重構

Vant 4.0 重構了 Picker 組件,以及基于 Picker 的 Area 和 DatetimePicker 組件。在之前的版本中,Picker組件的 API 設計不夠合理,導致大家在使用時經常遇到問題,比如:
  • Picker 的 columns 數據格式不合理,容易產生誤解。

  • Picker 的數據流不清晰,暴露了過多的實例方法來對數據進行操作。

  • DatetimePicker 的邏輯過于復雜,經常在邊界場景下出現 bug。

為了解決上述問題,我們在 Vant 4.0 中對Picker組件進行了重構,同時也重構了基于Picker派生出的AreaDatetimePicker組件。如果你的項目中使用了這三個組件,請閱讀「升級指南」進行升級。

組件工具函數調整

Vant 4.0 調整了組件工具函數的用法,使其更符合直覺。Vant 3 提供了一些組件工具函數,比如調用Dialog()函數,可以快速喚起全局的彈窗組件,而Dialog.Component才是Dialog對應的組件對象。
// 函數調用
Dialog({ message: 'Hello World!' });

// 組件注冊
app.use('van-dialog', Dialog.Component);
以上 API 設計導致 Dialog 等支持工具函數的組件與常規組件存在用法差異,容易被誤用;同時也導致unplugin-vue-components無法自動引入 Dialog 等組件。為了更符合直覺,我們在 Vant 4 中調整了組件工具函數的調用方式,受影響的函數包括Dialog()Toast()Notify()ImagePreview()。以 Dialog 為例,我們將Dialog()函數重命名為showDialog(),并讓Dialog直接指向組件對象。
// 函數調用
showDialog({ message: 'Hello World!' });

// 組件注冊
app.use('van-dialog', Dialog);
為了便于存量代碼遷移至 Vant 4.0,我們提供了兼容方案,你可以使用@vant/compat中導出的Dialog()函數來兼容原有代碼。
import { Dialog } from '@vant/compat';

Dialog({ message: 'Hello World!' });
@vant/compat中導出的Dialog()與 Vant 3 中的Dialog()擁有完全一致的 API 和行為,因此在升級時,你只需要修改它的引用路徑,其余代碼可以保持不變。在項目完成升級到 Vant 4.0 后,建議在迭代中逐步替換為新的showDialog()等方法,并移除@vant/compat包。

事件命名調整

Vant 4.0 將事件名改為駝峰格式。從 Vant 4 開始,所有的事件均采用 Vue 官方推薦的駝峰格式進行命名。
// Vant 3
emit('click-input');

// Vant 4
emit('clickInput');

這項改動不影響原有的模板代碼,Vue 會自動在模板中對事件名進行格式轉換,因此你無須做任何更改。


<van-field@click-input="onClick"/>
如果你在 JSX 中使用 Vant 組件,需要將監聽的事件名調整為駝峰格式,原有的中劃線格式將不再生效,新的監聽方式更加符合 JSX 本身的規范:
// Vant 3
<Field onClick-input={onClick} />

// Vant 4
<Field onClickInput={onClick} />

移除 Less 變量

Vant 4.0 不再支持通過 Less 變量定制主題。目前 Vant 已經支持基于 CSS 變量的主題定制,相較于 Less 定制更加靈活。因此,Vant 4 將不再提供基于 Less 的主題定制。這意味著 Vant 的 npm 包中將不再會包含.less樣式源文件,僅會提供編譯后的.css樣式文件。如果你的項目正在使用舊版的 Less 主題定制,請使用ConfigProvider 全局配置進行替換。

Vant Cli 5.0

本次更新同步發布了 Vant Cli 5.0 版本。Vant Cli是 Vant 底層的組件庫構建工具,本次更新內容有:
  • 升級 Vite 到 3.0 版本,并對相關的 Vite 插件進行升級。

  • 不再默認安裝stylelint@vant/stylelint-config依賴,需要的話可以自行安裝:

npm add stylelint@13 @vant/stylelint-config
  • 不再默認安裝gh-pages依賴,請按照如下方式更新 package.json:

- "release:site": "pnpm build:site && gh-pages -d site-dist",
+ "release:site": "pnpm build:site && npx gh-pages -d site-dist",

版本信息

目前Vant 官網和 npm latest 標簽均已指向 Vant 4.0。我們為 Vant 4.0 準備了完整的升級指南,請閱讀從 v3 升級到 v4進行升級。同時,Vant 3.x 也會進入維護狀態,后續 Vant 各個版本的維護狀態如下:
名稱 框架 發布時間 維護狀態
Vant 4 Vue 3 2022.12 持續迭代新功能
Vant 3 Vue 3 2020.12 停止迭代新功能,bug 會被處理和修復
Vant 2 Vue 2 2019.06 停止迭代新功能,重要 bug 會被處理和修復
Vant 1 Vue 2 2018.03 停止維護,不再接受 PR

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 組件
    +關注

    關注

    1

    文章

    518

    瀏覽量

    17939
  • 輕量化
    +關注

    關注

    0

    文章

    26

    瀏覽量

    8119

原文標題:Vant 4.0正式發布,基于Vue 3的移動組件庫

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    SQLite數據訪問組件

    SQLite 數據訪問組件 SQLite 數據訪問組件 (LiteDAC) 是一個組件 它提供從 Delphi 和 C++ Builder 到 SQLite 的原生連接,包括 Com
    的頭像 發表于 02-08 11:48 ?79次閱讀
    SQLite數據訪問<b class='flag-5'>組件</b>

    Vue3設計思想及響應式源碼剖析

    作者:京東物流 喬盼盼 一、Vue3結構分析 1、Vue2與Vue3的對比 ?對TypeScript支持不友好(所有屬性都放在了this對象上,難以推倒組件的數據類型) ?大量的API
    的頭像 發表于 12-20 10:24 ?188次閱讀

    《DNESP32S3使用指南-IDF版_V1.6》第九章 IDF組件注冊表

    、存儲內存以及LCD都有明確的使用要求。如果設備未能滿足這些要求,那么將無法順利使用該解碼組件。因此,在選擇和使用此組件時,務必確保設備滿足相應的硬件條件。3,使用示例通過命令的形式
    發表于 12-07 09:28

    深信服發布安全GPT4.0數據安全大模型

    近日,深信服在數據安全領域邁出了重要一步,正式發布了安全GPT4.0數據安全大模型。這一創新的大模型技術,旨在為用戶提供更高效、精準的數據安全解決方案。
    的頭像 發表于 10-29 11:12 ?321次閱讀

    訊飛星火大模型V4.0正式發布

    日前,訊飛星火V4.0正式發布,升級成為更懂你的AI助手!訊飛星火4.0 API同步上線,Ultra版本首次公開發布!
    的頭像 發表于 10-14 10:06 ?908次閱讀

    PADS-3D文件

    PADS-3D文件
    發表于 08-15 17:20 ?30次下載

    榮耀Magic V3發布,搭載第三代驍龍8移動平臺

    今日,榮耀召開Magic旗艦新品發布會,正式發布了全新輕薄折疊屏榮耀Magic V3和榮耀Magic Vs3,以及榮耀平板MagicPad 2等新品。其中榮耀Magic V
    的頭像 發表于 07-14 09:56 ?1204次閱讀

    bootstrap框架和vue框架的區別

    響應式移動優先的網頁。Bootstrap的核心設計理念是“移動優先”,即優先考慮移動設備的顯示效果,然后通過媒體查詢等技術實現對不同設備的適配。Bootstrap提供了一套豐富的CSS和JavaScript
    的頭像 發表于 07-11 09:55 ?1003次閱讀

    Java語言+前端Vue,ElementUI?數字化產科管理平臺 產科電子病歷系統源碼

    ,Java語言,Vue前端,MySQL數據。優勢在于提升就診效率,降低漏檢率,自動報表生成,減少重復工作,支持數據研究,并實現醫院與衛計委平臺的數據互通,打造全生育周期健康服務。
    的頭像 發表于 07-08 10:16 ?416次閱讀
    Java語言+前端<b class='flag-5'>Vue</b>,ElementUI?數字化產科管理平臺 產科電子病歷系統源碼

    esp32c3是否兼容藍牙4.0 4.1?

    esp32c3是否兼容藍牙4.0 4.1?
    發表于 07-01 08:09

    百度文心大模型4.0 Turbo,正式發布 用戶規模已達3

    的最新數據,并正式發布文心大模型4.0 Turbo、飛槳框架3.0等最新技術,披露飛槳文心生態最新成果。 ?01?文心大模型4.0 Turbo發布? 文心一言用戶規模達
    的頭像 發表于 06-29 10:06 ?932次閱讀

    求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的

    在esp-idf中使用arduino作為組件后怎樣使用arduino的,例如我此時需要使用arduino的第三方blinker,怎樣使用?
    發表于 06-12 07:21

    基于esp32輕量化的PSA及Web3組件,怎么向組件提交component ?

    您好: 我們開發了一套基于 esp32 輕量化的 PSA 及 Web3組件,但是應該如何提交到 espressif 的組件呢?謝謝
    發表于 06-07 07:29

    科技自研的諧振腔組件再度榮膺“榮格技術創新獎”

    5月15日,“2024激光加工行業-榮格技術創新獎”頒獎典禮于蘇州成功舉辦。光科技憑借自主研發的“諧振腔組件”,再度榮膺“榮格技術創新獎”。
    的頭像 發表于 05-17 15:10 ?543次閱讀
    光<b class='flag-5'>庫</b>科技自研的諧振腔<b class='flag-5'>組件</b>再度榮膺“榮格技術創新獎”

    FOC4.0中想自己選用一個ADC通道監測外圍的模擬電壓值,可以嗎?

    請問下FOC4.0中,已經把ADC1_2封裝了,我想自己選用一個ADC通道監測外圍的模擬電壓值,可以嗎?如何初始化才不會影響正常的FOC
    發表于 05-11 08:48
    主站蜘蛛池模板: 中文字幕在线播放一区 | 扒开双腿猛进湿润18p | 亚欧成人中文字幕一区 | 色天使在线观看 | 国产精品丝袜在线观看 | 在线理论视频 | 国产做a爰片久久毛片 | 欧美精品一区视频 | 在线播放一区二区精品产 | 热久久综合这里只有精品电影 | 丁香花五月婷婷开心 | 国产三级免费观看 | 日本在线一级 | 视频二区中文字幕 | 鲁老汉精品视频在线观看 | 天天干天天弄 | 在线观看视频色 | 天天综合网在线 | 亚洲男人的天堂在线播放 | 婷婷综合激情网 | 久久观看午夜精品 | av 狼| 美女视频永久黄网站在线观看 | 色视频在线观看完整免费版 | 黄色在线观看视频 | 韩国中文字幕在线观看 | 在线免费观看一级毛片 | 午夜精品福利在线 | 老司机51精品视频在线观看 | 97蜜桃| 日本卡一卡2卡3卡4精品卡无人区 | 美女视频很黄很a免费国产 美女视频很黄很暴黄是免费的 | 四虎网站最新网址 | 大蕉久久伊人中文字幕 | 调教双性学霸美人 | 免费看一级片 | 天天摸天天操天天射 | 成年黄网站免费大全毛片 | 无遮挡很爽很污很黄的网站w | 欧美三级视频在线播放 | 老色批 |