Notes on Transferring from Vuetify V1 to V2
此篇記錄 Vuetify 從 v1 升級到 v2 所要注意的事情。
Color Theme
V2 color theme 改分成 light 和 dark 兩種模式。為方便管理,做法是另外開一隻 vuetify.js 然後再引入 main.js 做使用。
/js/vuetify.js
1 | import Vue from 'vue'; |
main.js
1 | ... |
v-content to v-main
v-content 名稱在 V2 變成 v-main。
Grid
原本使用 v-layout, v-flex 做排版,V2 改為使用 v-row, v-col,原組件功能保留,若不更動也可以。
v-toolbar to v-app-bar
新版 V2 有另外開新組件 v-app-bar 讓開發者可替換掉 v-toolbar。兩者相比之下,v-app-bar 有更多新功能可使用,可參閱 StackOverflow。
v-app-bar可下 app 屬性,代表整個應用程式的最上層功能。- 選單 icon
v-toolbar-side-icon名稱改為v-app-bar-nav-icon。
v-navigation
屬性 mobile-break-point 更名為 mobile-breakpoint 。
v-list
只要是 v-list-tile 名稱在 V2 變成 v-list-item。比較常用到的地方是 Navigation 和 Menu 組件。
v-list-tile-sub-title更名為v-list-item-subtitle。v-list-item的屬性avator已被移除。
v-dialog
原本可在 v-dialog 下 slot="activator",改為一定要另外在內部開一個 template 下 slot 語法才行。可參閱 Dialogs。
v-tooltip
原本可在 v-tooltip 下 slot="activator",改為一定要另外在內部開一個 template 下 slot 語法才行。可參閱 Tooltips。
v-menu
原本可在 v-menu 下 slot="activator",改為一定要另外在內部開一個 template 下 slot 語法才行。可參閱 Menus。另外,取消了 lazy 和 full-width 屬性。
PS.
v-menu需要下min-width在 IE 瀏覽器才不會破版。
v-snackbar
原本 v-snackbar 不需要下 v-slot,改為一定要另外在內部開一個 template 下 slot 語法才行。可參閱 Snackbars。
v-btn 預設樣式改變
flat 屬性改為 text。
text-xs-(align) to text-(align)
text-xs-center 名稱在 V2 變成 text-center,以此類推。
v-chip
原本監聽 close 的 @input 屬性改成 @click:close。
v-data-table
v-data-table 改的地方蠻多的,描述如下。
hide-actions改為hide-default-footerpagination.sync改為page.syncselect-all改為show-select- 需要下
items-per-page設置每頁資料筆數 - 每格資料改為使用 template v-slot 的方式做覆蓋,例如對資料使用 filter。參閱 Item。
v-expansion-panels
結構有大幅度的改變,最外層換成 v-expansion-panels。v-expansion-panel 變成內頁,屬性要移到外層。標題一定要拉到 v-expansion-panel-header。參閱 Expansion Panels。
- 屬性
expand改為mutiple - v-model 陣列改為使用 index (ex: [true, false, true] => [0,2])