- 综合
-
新增
theme-chalk主题 -
增强以下组件的可访问性:Alert、AutoComplete、Breadcrumb、Button、Checkbox、Collapse、Input、InputNumber、Menu、Progress、Radio、Rate、Slider、Switch 和 Upload
-
新增布局组件 Container、Header、Aside、Main 和 Footer
-
新增 TypeScript 类型声明
-
重绘了全部图标,并新增了部分图标
-
为部分非兼容性更新增加控制台警告,方便迁移项目。当你在项目中使用了被移除或更名了的属性或事件时,控制台会出现一条警告,例如:
[Element Migrating][ElSwitch][Attribute]: on-color is renamed to active-color. -
新增了一系列基于断点的工具类,用于当视口尺寸满足一定条件时隐藏元素
-
新增全局配置组件尺寸的功能
在引入 Element 时,配置
size字段可以改变所有组件的默认尺寸。按照引入 Element 的方式,具体操作如下:完整引入 Element:
import Vue from 'vue' import Element from 'element-ui' Vue.use(Element, { size: 'small' })
按需引入 Element:
import Vue from 'vue' import { Button } from 'element-ui' Vue.prototype.$ELEMENT = { size: 'small' } Vue.use(Button)
按照以上设置,项目中所有拥有
size属性的组件的默认尺寸均为 'small'。
-
- Button
- 新增
round属性,用于圆角按钮 #6643
- 新增
- TimeSelect
- 可以用
Up、Down导航,用Enter选中时间 #6023
- 可以用
- TimePicker
- 可以用方向键导航,用
Enter选中时间 #6050 - 新增
start-placeholder和end-placeholder,用于设置范围选择时两个输入框的占位符 #7169 - 新增
arrow-control属性,提供另一种交互形式,#7438
- 可以用方向键导航,用
- Tree
- 子节点在首次被展开之前不进行渲染 #6257
- 新增
check-descendants属性,设置lazy模式下勾选节点时,是否完全展开整个子树 #6235
- Tag
- 新增
size属性 #7203
- 新增
- Datepicker
- type 为
datetimerange时可以使用timeFormat格式化时间选择器 #6052 - 新增
start-placeholder和end-placeholder,用于设置范围选择时两个输入框的占位符 #7169 - 新增
value-format属性,支持对绑定值的格式进行自定义,#7367 - 新增
unlink-panels属性,用于在选择日期范围时取消两个日期面板之间的联动
- type 为
- MessageBox
- 新增
closeOnHashChange属性 #6043 - 新增
center属性,提供居中布局 #7029 - 新增
roundButton属性,使得内部按钮为圆角按钮 #7029 - 新增
dangerouslyUseHTMLString属性,使得message支持传入 HTML 字符串* #6043
- 新增
- Dialog
- 新增
width、fullscreen、append-to-body属性,支持嵌套使用 - 新增
center属性,提供居中布局 #7042 - 新增
focus-after-closed、focus-after-open属性,支持无障碍访问 #6511
- 新增
- ColorPicker
- 增加手动输入色值的支持 #6167
- 新增
size属性,用于控制组件的大小 #7026 - 新增
disabled属性,用于禁用组件 #7026 - 新增
popper-class属性,#7351
- Message
- 图标部分使用 icon 代替图片,从而支持通过 CSS 修改图标背景色 #6207
- 新增
dangerouslyUseHTMLString属性,使得message属性支持传入 HTML 字符串* #6207 - 新增
center属性,提供居中布局 #6875
- Notification
- 新增
position属性,用于配置 Notification 出现的位置 #6231 - 新增
dangerouslyUseHTMLString属性,使得message属性支持传入 HTML 字符串* #6231 - 新增
showClose属性,用于隐藏关闭按钮 #6402
- 新增
- Rate
- 新增
show-score属性,控制是否在右侧显示当前分数 #6295
- 新增
- Tabs
- 新增
tab-position属性,控制选项面板内容显示的上、下、左、右四个方向 #6096
- 新增
- Radio
- 增加
border属性和size属性 #6690
- 增加
- Checkbox
- 增加
border属性和size属性 #6690
- 增加
- Alert
- 新增
center属性,提供居中布局 #6876
- 新增
- Menu
- 新增
background-color、text-color和active-text-color属性,分别用于设置菜单的背景色、菜单的文字颜色和当前激活菜单的文字颜色 #7064 - 新增
open和close方法,支持手动打开和关闭 SubMenu,#7412
- 新增
- Form
- 新增
inline-message属性,设置后校验信息会以行内样式显示 #7032 - 新增
status-icon属性,用于在输入框中显示校验结果反馈图标 #7032 - Form 和 Form-item 新增
size属性,用于控制表单内组件的尺寸,#7428 validate方法在不传入 callback 的情况下返回 promise,#7405
- 新增
- Input
- 新增
suffix、prefix的 slot,以及suffixIcon、prefixIcon属性,用于给输入框内部增加前置和后置内容 #7032
- 新增
- Breadcrumb
- 新增
separator-class属性,可使用图标作为分隔符 #7203
- 新增
- Steps
- 新增
simple属性,用于开启简洁风格的步骤条 #7274
- 新增
- Pagination
- 新增
prev-text和next-text属性,用于自定义上一页和下一页的文本 #7005
- 新增
- Loading
- 配置对象新增
spinner和background字段,支持自定义加载图标和背景色,#7390
- 配置对象新增
- Autocomplete
- 新增
debounce属性,#7413
- 新增
- Upload
- 新增
limit和on-exceed属性,支持对上传文件的个数进行限制,#7405
- 新增
- DateTimePicker
- 新增
time-arrow-control属性,用于开启时间选择器的arrow-control,#7438
- 新增
- Layout
- 新增断点
xl,适用于宽度大于 1920px 的视口
- 新增断点
- Table
- 新增
span-method属性,用于合并行或列 - 新增
clearSort方法,用于清空排序状态 - 新增
clearFilter方法,用于清空过滤状态 - 对于可展开行,当该行展开时会获得一个
.expanded类名,方便自定义样式
- 新增
- Select
- 新增
reserve-keyword属性,用于在选择某个选项后保留当前的搜索关键词
- 新增
- DatePicker
- 选择周数时,
v-model结果返回该周第二天的问题 #6038 - 在
daterange类型中,第一次的输入会被清空的问题 #6021
- 选择周数时,
- DateTimePicker
- 和 TimePicker 相互影响的问题 #6090
- 选择时间小时和秒可超出限制的问题 #6076
- TimePicker
- 失去焦点时无法正确改变
v-model值的问题 #6023
- 失去焦点时无法正确改变
- Dialog
- 当含有下拉框时,下拉框的打开和关闭会造成文字虚晃的问题 #6088
- Select
- 提升性能,修复组件销毁时可能导致 Vue dev-tool 卡死的问题 #6151
- Table
- 修复 TableColumn 的
header-align属性失效的问题 - 修复 Table 在父元素从
display: none变成其他状态时会隐藏的问题 - 修复 Table 在父元素为
display: flex时可能出现的宽度逐渐变大的问题 - 修复
append具名 slot 和固定列并存时,动态获取表格数据会导致固定列消失的问题 - 修复
expand-row-keys属性初始化无效的问题 - 修复
data改变时过滤条件失效的问题 - 修复多级表头时固定列隐藏情况计算错误的问题
- 修复 TableColumn 的
- 综合
- 移除
theme-default - 最低兼容 Vue 2.5.2 版本
- 表单组件的
change事件和 Pagination 的current-change事件现在仅响应用户交互 - Button 和表单组件的
size属性不再接受large值,可接受medium、small和mini - 为了方便使用第三方图标,Button 的
icon属性、Input 的prefix-icon和suffix-icon属性、Steps 的icon属性现在需要传入完整的图标类名
- 移除
- Dialog
- 移除
size属性。现在 Dialog 的尺寸由width和fullscreen控制 - 移除通过
v-model控制 Dialog 显示和隐藏的功能
- 移除
- Rate
text-template属性更名为score-template
- Dropdown
menu-align属性变更为placement,增加更多方位属性
- Transfer
footer-format属性更名为format
- Switch
- 由于
on-*属性在 JSX 中会被识别为事件,导致 Switch 所有on-*属性在 JSX 中无法正常工作,所以on-*属性更名为active-*,对应地,off-*属性更名为inactive-*。受到影响的属性有:on-icon-class、off-icon-class、on-text、off-text、on-color、off-color、on-value、off-value active-text和inactive-text属性不再有默认值
- 由于
- Tag
type属性现在支持success、info、warning和danger四个值
- Menu
- 移除
theme属性。现在通过background-color、text-color和active-text-color属性进行颜色的自定义
- 移除
- Input
- 移除
icon属性。现在通过suffix-icon属性或者suffix具名 slot 来加入尾部图标 - 移除
on-icon-click属性和click事件。现在如果需要为输入框中的图标添加点击事件,请以具名 slot 的方式添加图标 change事件现在仅在输入框失去焦点或用户按下回车时触发,与原生 input 元素一致。如果需要实时响应用户的输入,可以使用input事件
- 移除
- Autocomplete
- 移除
custom-item属性。现在通过scoped slot自定义输入建议列表项的内容
- 移除
- Table
- 移除通过
inline-template自定义列模板的功能
- 移除通过
- Steps
- 移除
center属性 - 现在步骤条将默认充满父容器
- 移除
- DatePicker
change事件参数现在为组件的绑定值,格式由value-format控制
- Table
sort-method现在和Array.sort保持一致的逻辑,要求返回一个数字。
* 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。因此请在 dangerouslyUseHTMLString 打开的情况下,确保 message 的内容是可信的,永远不要将用户提交的内容赋值给 message 属性。
- General
-
A new theme:
theme-chalk -
Accessibility of the following components are improved: Alert, AutoComplete, Breadcrumb, Button, Checkbox, Collapse, Input, InputNumber, Menu, Progress, Radio, Rate, Slider, Switch, Upload
-
Added TypeScript typings
-
All existing icons are redesigned. Some new icons are added.
-
To help you migrate from Element 1.x, we added some console warnings against deprecated APIs. When you use a removed or renamed attribute or event in your project, you'll get a warning like this:
[Element Migrating][ElSwitch][Attribute]: on-color is renamed to active-color. -
Added a series of breakpoint-based utility classes that hide elements when the viewport size meets certain conditions
-
Layout components: Container, Header, Aside, Main, Footer
-
Configure component sizes globally
Now when you import Element, you can add a global config object with a
sizeprop to configure default sizes for all components:Fully import:
import Vue from 'vue' import Element from 'element-ui' Vue.use(Element, { size: 'small' })
Partial import:
import Vue from 'vue' import { Button } from 'element-ui' Vue.prototype.$ELEMENT = { size: 'small' } Vue.use(Button)
With the above config, the default size of all components that have
sizeattribute will be 'small'.
-
- Button
- Added
roundattribute. It's used for round-cornered Buttons #6643
- Added
- TimeSelect
- Now can be navigated by
UpandDown, and hittingEnterselects the time #6023
- Now can be navigated by
- TimePicker
- Now can be navigated by arrow keys, and hitting
Enterselects the time #6050 - Added
start-placeholderandend-placeholder. They're placeholders for the two input boxes in range mode #7169 - Added
arrow-controlattribute to spin the time with arrows #7438
- Now can be navigated by arrow keys, and hitting
- Tree
- Now child nodes don't render before the first expand #6257
- Added
check-descendantsattribute. It determines if child nodes are checked when checking their parent node inlazymode #6235
- Tag
- Added
sizeattribute #7203
- Added
- Datepicker
- Now
timeFormatcan format the TimePicker when type is set todatetimerange#6052 - Added
start-placeholderandend-placeholder. They're placeholders for the two input boxes in range mode #7169 - Added
value-formatattribute to customize the format of the binding value, #7367
- Now
- MessageBox
- Added
closeOnHashChangeattribute #6043 - Added
centerattribute so that the content can be centered #7029 - Added
roundButtonattribute to display round Buttons #7029 - Added
dangerouslyUseHTMLStringattribute. When set totrue,messagewill be parsed as HTML string* #6043
- Added
- Dialog
- Added
width、fullscreen、append-to-bodyattributes. Now Dialog can be nested - Added
centerattribute so that the content can be centered #7042 - Added
focus-after-closed、focus-after-opento improve accessibility #6511
- Added
- ColorPicker
- Now you can type colors in the input box #6167
- Added
sizeanddisabledattributes #7026
- Message
- Now color of the icons can be overridden by CSS #6207
- Added
dangerouslyUseHTMLStringattribute. When set totrue,messagewill be parsed as HTML string* #6207 - Added
centerattribute so that the content can be centered #6875
- Notification
- Added
positionattribute to configure where Notification pops up #6231 - Added
dangerouslyUseHTMLStringattribute. When set totrue,messagewill be parsed as HTML string* #6231 - Added
showCloseattribute to hide the close button #6402
- Added
- Rate
- Added
show-scoreattribute to determine if current score is displayed #6295
- Added
- Tabs
- Added
tab-positionattribute #6096
- Added
- Radio
- Improved accessibility #6101
- Added
borderandsizeattributes #6690
- Checkbox
- Added
borderandsizeattributes #6690
- Added
- Alert
- Added
centerattribute so that the content can be centered #6876
- Added
- Menu
- Added
background-color,text-colorandactive-text-colorattributes #7064 - Added
openandclosemethods to open and close SubMenu programmatically, #7412
- Added
- Form
- Added
inline-messageattribute to determine if the validation message is displayed in inline style #7032 - Added
status-iconattribute to display a feedback icon when validated #7032 - Form and Form-item now have a
sizeattribute. Inner components will inherit this size if not specified on themselves, #7428 validatemethod will now return a promise if the callback is omitted, #7405
- Added
- Input
- Added
suffixandprefixnamed slots,suffixIconandprefixIconattributes to add contents inside the input box #7032
- Added
- Breadcrumb
- Added
separator-classattribute to support icons as item separators #7203
- Added
- Steps
- Added
simpleattribute to activate simple-styled Steps #7274
- Added
- Pagination
- Added
prev-textandnext-textattributes to customize texts of previous page and next page #7005
- Added
- Loading
- Now you can customize spinner icon and background color with
spinnerandbackgroundprop, #7390
- Now you can customize spinner icon and background color with
- Autocomplete
- Added
debounceattribute, #7413
- Added
- Upload
- Added
limitandon-exceedattributes to limit the amount of files, #7405
- Added
- DateTimePicker
- Added
time-arrow-controlattribute to activatearrow-controlof the nesting TimePicker, #7438 - Added
unlink-panelsattribute to unlink the two date panels when selecting a date range
- Added
- Layout
- Added a new breakpoint
xlfor viewport wider than 1920px
- Added a new breakpoint
- Table
- Added
span-methodattribute for merging cells - Added
clearSortmethod to clear sorting programmatically - Added
clearFiltermethod to clear filter programmatically - For expandable rows, when a row is expanded, a
.expandedclass will be added to its class list, so that you can customize its styles
- Added
- Select
- Added
reserve-keywordattribute for reserving current search keyword after selecting an option
- Added
- DatePicker
- Fixed
v-modelreturning the second day of the selected week in week mode #6038 - Fixed the first input being cleared in
daterangetype #6021
- Fixed
- DateTimePicker
- Fixed DateTimePicker and TimePicker affecting each other when picked #6090
- Fixed hour and second can be beyond limit when selecting time #6076
- TimePicker
- Fixed
v-modelnot update correctly when blurred #6023
- Fixed
- Dialog
- Fixed texts having blurry edges when opening and closing nesting dropdowns #6088
- Select
- Improved performance. Now Vue dev-tool won't crash when a large number of Selects are destroyed #6151
- ColorPicker
- Added
popper-classattribute for ColorPicker, #7351
- Added
- Table
- Now
header-alignof TableColumn works properly - Fixed a bug that Table remains hiding when its parent element appears from
display: none - Fixed Table expanding its width when its parent element has
display: flex - Fixed a bug that fixed columns of a Table with
appendslot would disappear when data is dynamically fetched - Fixed
expand-row-keysattribute not working with initial value - Fixed filter failing when
dataupdates - Fixed a calculation error of fixed columns layout with grouped headers
- Now
- General
- Removed
theme-default - Only compatible with Vue 2.5.2 and beyond
changeevent of form components andcurrent-changeevent of Pagination now only trigger on user interactionsizeattribute of Button and form components can no longer be set tolarge. Now they acceptmedium,smallandmini- To facilitate the use of third-party icons,
iconattribute of Button and Steps,prefix-iconandsuffix-iconattributes of Input now require a full class name
- Removed
- Dialog
- Removed
sizeattribute. Now the size of Dialog can be configured bywidthandfullscreen - Now the visibility of Dialog cannot be controlled by
v-model
- Removed
- Rate
text-templateis renamed toscore-template
- Dropdown
menu-alignis renamed toplacement. Now it supports more positions
- Transfer
footer-formatis renamed toformat
- Switch
- Attributes starting with
on-*will be parsed to events in JSX, making allon-*attributes of Switch not able to work in JSX. Soon-*attributes are renamed toactive-*, and accordinglyoff-*attributes are renamed toinactive-*. This change affects the following attributes:on-icon-class,off-icon-class,on-text,off-text,on-color,off-color,on-value,off-value active-textandinactive-textattributes now don't have default values
- Attributes starting with
- Tag
typeattribute now acceptssuccess,info,warninganddanger
- Menu
- Removed
themeattribute. The color of Menu can be configured usingbackground-color,text-colorandactive-text-color
- Removed
- Input
- Removed
iconattribute. Now the suffix icon can be configured usingsuffix-iconattribute orsuffixnamed slot - Removed
on-icon-clickattribute andclickevent. Now to add click handler on icons, please use named slots changeevent now behaves like the native input element, which triggers only on blur or pressing enter. If you need to respond to user input in real time, you can useinputevent.
- Removed
- Autocomplete
- Removed
custom-itemattribute. Now the template of input suggestions can be customized usingscoped slot
- Removed
- Table
- Removed support for customizing column template using
inline-template
- Removed support for customizing column template using
- Steps
- Removed
centerattribute - Now the Steps will fill its parent container by default
- Removed
- DatePicker
- The params of DatePicker's
changeevent is now the binding value itself. Its format is controlled byvalue-format
- The params of DatePicker's
- Table
sort-methodnow aligns withArray.sort. It should return a number instead of a boolean
* Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS attacks. So when dangerouslyUseHTMLString is on, please make sure the content of message is trusted, and never assign message to user-provided content.