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-footer
pagination.sync
改為page.sync
select-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])