element-ui 版本升級對比

valarsu發表於2018-04-13

前提:最近專案打算將element從1.x升級到2.x,於是整理了一波常用的屬性之間的區別,不是十分全面。其中非相容性更新為升級中容易掉坑的地方,希望可以被當成快速查詢工具。

element-ui 1.x與2.x的對比

對比項 element1.x element2.x 非相容性更新
依賴 最低相容Vue2.5.2和IE10
自定義主題 element-theme,通過線上主題生成工具下載,再引入 element-theme-chalk 使用scss變數,直接修改主題色,覆蓋原檔案 移除theme-default
綜合 1、表單元件的 change 事件和 Pagination 的 current-change 事件現在僅響應使用者互動
2、為了方便使用第三方圖示,Button 的 icon 屬性、Input 的 prefix-icon 和 suffix-icon 屬性、Steps 的 icon 屬性現在需要傳入完整的圖示類名
3、Button 和表單元件的 size 屬性現在可接受 medium、small 和 mini
Autocomplete 1、移除 custom-item 屬性。現在通過 scoped slot 自定義輸入建議列表項的內容
2、移除 props 屬性,現在使用 value-key 屬性指定輸入建議物件中用於顯示的鍵名
layout佈局 新增基於斷點的隱藏類,import 'element-ui/lib/theme-chalk/display.css';
通過新增相應類名,用於在某些條件下隱藏元素
Container X 新增元件:使用flex佈局,需確定相容性。:外層容器、:頂欄容器、:側邊欄容器、:主要區域容器、:底欄容器。
color 顏色值變化
icon 1、iconButton引用:
2、可以使用第三方圖示庫
iconButton引用:
button 新增round、circle屬性
radio、checkbox 1、新增border、size屬性。size依賴於border
2、radio-group可以設定禁用
input 1、新增 可清空clearble 屬性
2、新增prefix-icon、suffix-icon屬性,定義icon位置
3、新增tabindex:輸入框的tabindex
1、移除 icon 屬性。現在通過 suffix-icon 屬性或者 suffix 具名 slot 來加入尾部圖示
2、移除 on-icon-click 屬性和 click 事件。現在如果需要為輸入框中的圖示新增點選事件,請以具名 slot 的方式新增圖示
3、change 事件現在僅在輸入框失去焦點或使用者按下回車時觸發,與原生 input 元素一致。如果需要實時響應使用者的輸入,可以使用 input 事件
inputNumber 1、新增controls-position:控制按鈕位置
2、新增foucs、blur事件
select 1、增加clearble:可清空
2、新增collapse-tags:多選時可將選中值按文字的形式展示
3、新增auto-complete
4、新增reserve-keyword:多選且可搜尋時,是否在選中一個選項後保留當前的搜尋關鍵詞
5、popper-append-to-body: 是否將彈出框插入至 body 元素
6、新增foucs、blur事件
cascader 1、新增separator:自定義分隔符
2、新增foucs、blur事件
switch on-color、off-color、on-text、off-text、on-value、off-value active-color、inactive-color、active-text、inactive-text 1、由於 on-x 屬性在 JSX 中會被識別為事件,導致 Switch 所有 on-x 屬性在 JSX 中無法正常工作,所以 on-x 屬性更名為 active-x,對應地,off-x 屬性更名為 inactive-x。受到影響的屬性有:on-icon-class、off-icon-class、on-text、off-text、on-color、off-color、on-value、off-value
2、active-text 和 inactive-text 屬性不再有預設值
timePicker 1、增加鍵盤事件,可用方向鍵導航,enter選中
2、新增is-range:是否時間範圍選擇
3、新增arrow-control:是否使用箭頭
4、新增range-separator:選擇範圍時的分隔符
5、自定義圖示:頭部圖示prefix-icon、清空圖示clear-icon
datePicker 1、新增format:輸入框格式;value-format:繫結值格式
2、新增default-time:指定日期範圍的具體時間
3、自定義圖示:頭部圖示prefix-icon、清空圖示clear-icon
change 事件引數現在為元件的繫結值,格式由 value-format 控制
DateTimePicker 相關升級部分參照timePicker和datePicker
upload 1、新增:before-remove:刪除前的鉤子
2、新增limit:最大允許上傳個數
3、on-exceed:檔案超出個數限制時的鉤子
rate text-template 1、score-template
2、新增show-score,只讀時用,和show-text不能同時存在
text-template 屬性更名為 score-template
ColorPicker 1、新增predefine:預定義顏色
2、新增size
transfer footer-format 1、format
2、新增target-order:右側列表元素的排序策略:若為 original,則保持與資料來源相同的順序;若為 push,則新加入的元素排在最後;若為 unshift,則新加入的元素排在最前
3、新增clearQuery方法,清空搜尋關鍵詞
footer-format 屬性更名為 format
form 1、新增size、disabled 2、新增inline-message:行內形式展現校驗資訊 3、新增status-icon:在輸入框中顯示校驗結果反饋圖示 4、新增validate-on-rule-change:在 rules 屬性改變後立即觸發一次驗證
table 1、新增span-method:合併行或列
2、新增type=index,自定義索引
3、新增select-on-indeterminate:在多選表格中,當僅有部分行被選中時,點選表頭的多選框時的行為。若為 true,則選中所有行;若為 false,則取消選擇所有行
1、移除通過 inline-template 自定義列模板的功能
2、sort-method 現在和 Array.sort 保持一致的邏輯,要求返回一個數字
3、將 append slot 移至 tbody 元素以外,以保證其只被渲染一次
4、expand 事件更名為 expand-change,以保證 API 的命名一致性
5、row-class-name 和 row-style 的函式引數改為物件,以保證 API 的一致性
tag 1、新增size
2、新增disable-transitions:禁用漸變動畫
type 屬性現在支援 success、info、warning 和 danger 四個值
progress 新增color:進度條背景色
tree current-node-key:當前選中節點的 key,只寫屬性 1、新增render-after-expand:是否在第一次展開某個樹節點後才渲染其子節點 2、lazy:懶載入子節點,配合load使用3、draggable:可拖拽;allow-drag:判斷節點能否被拖拽;allow-drop:拖拽時判定位置能否被放置
pagination 預設有背景顏色 預設無背景顏色
alert center設定居中
loding element-loading-spinner和element-loading-background屬性分別用來設定圖示類名和背景色值
message、messageBox 1、可以用center居中
2、可以使用html片段dangerouslyUseHTMLString 但是確保內容可信,要不容易導致XSS攻擊
notification 1、自定義位置position,引數top-right、top-left、bottom-right、bottom-left,預設為top-right
2、可以使用html片段dangerouslyUseHTMLString 但是確保內容可信,要不容易導致XSS攻擊
navMenu 通過theme屬性定製主題 1、 通過設定background-color、text-color、active-text-color自定義主題
2、可以設定disabled禁用
3、設定collapse-transition,開啟摺疊動畫
4、SubMenu可以設定對應屬性:popper-class自定義類名;show-timeout、hide-timeout展開、收起sub-menu延時;disabled禁用;popper-append-to-body將彈出選單插入至body
移除 theme 屬性。現在通過 background-color、text-color 和 active-text-color 屬性進行顏色的自定義
tabs 可以通過 tab-position 設定標籤的位置
breadCrumb 可以通過separator-class設定自定義圖示
dropDown 1、可以通過size設定medium、small、mini來設定尺寸
2、placement設定選單彈出位置
menu-align 屬性變更為 placement,增加更多方位屬性
3、show-timeout 和 hide-timeout 屬性現在僅在 trigger 為 hover 時生效
steps 1、通過simple設定簡潔風格
2、通過align-center設定描述居中
1、移除 center 屬性
2、現在步驟條將預設充滿父容器
dialog 可以通過size設定大小 1、可以通過append-to-body設定巢狀dialog
2、center設定內容居中
1、移除 size 屬性。現在 Dialog 的尺寸由 width 和 fullscreen 控制
2、移除通過 v-model 控制 Dialog 顯示和隱藏的功能
popover 事件:after-enter、after-leave 顯示隱藏動畫結束後才觸發

參考文件:

相關文章