Element 2.0.0 正式版已发布。Element 是饿了么开源的一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型。
综合
新增 theme-chalk 主题
theme-chalk
增强以下组件的可访问性:Alert、AutoComplete、Breadcrumb、Button、Checkbox、Collapse、Input、InputNumber、Menu、Progress、Radio、Rate、Slider、Switch 和 Upload
新增布局组件 Container、Header、Aside、Main 和 Footer
新增 TypeScript 类型声明
重绘了全部图标,并新增了部分图标
新增了一系列基于断点的工具类,用于当视口尺寸满足一定条件时隐藏元素
新增全局配置组件尺寸的功能。在引入 Element 时,配置 size 字段可以改变所有组件的默认尺寸
size
Button
新增 round 属性,用于圆角按钮 #6643
round
TimeSelect
可以用 Up、Down 导航,用 Enter 选中时间 #6023
Up
Down
Enter
TimePicker
可以用方向键导航,用 Enter 选中时间 #6050
新增 start-placeholder 和 end-placeholder,用于设置范围选择时两个输入框的占位符 #7169
start-placeholder
end-placeholder
新增 arrow-control 属性,提供另一种交互形式,#7438
arrow-control
Tree
子节点在首次被展开之前不进行渲染 #6257
新增 check-descendants 属性,设置 lazy 模式下勾选节点时,是否完全展开整个子树 #6235
check-descendants
lazy
Tag
新增 size 属性 #7203
Datepicker
type 为 datetimerange 时可以使用 timeFormat 格式化时间选择器 #6052
datetimerange
timeFormat
新增 value-format 属性,支持对绑定值的格式进行自定义,#7367
value-format
新增 unlink-panels 属性,用于在选择日期范围时取消两个日期面板之间的联动
unlink-panels
MessageBox
新增 closeOnHashChange 属性 #6043
closeOnHashChange
新增 center 属性,提供居中布局 #7029
center
新增 roundButton 属性,使得内部按钮为圆角按钮 #7029
roundButton
新增 dangerouslyUseHTMLString 属性,使得 message 支持传入 HTML 字符串* #6043
dangerouslyUseHTMLString
message
新增 inputType 属性,用户指定内部输入框的类型,#7651
inputType
Dialog
新增 width、fullscreen、append-to-body 属性,支持嵌套使用
width
fullscreen
append-to-body
新增 center 属性,提供居中布局 #7042
新增 focus-after-closed、focus-after-open属性,支持无障碍访问 #6511
focus-after-closed
focus-after-open
ColorPicker
增加手动输入色值的支持 #6167
新增 size 属性,用于控制组件的大小 #7026
新增 disabled 属性,用于禁用组件 #7026
disabled
新增 popper-class 属性,#7351
popper-class
Message
图标部分使用 icon 代替图片,从而支持通过 CSS 修改图标背景色 #6207
新增 dangerouslyUseHTMLString 属性,使得 message 属性支持传入 HTML 字符串* #6207
新增 center 属性,提供居中布局 #6875
Notification
新增 position 属性,用于配置 Notification 出现的位置 #6231
position
新增 dangerouslyUseHTMLString 属性,使得 message 属性支持传入 HTML 字符串* #6231
新增 showClose 属性,用于隐藏关闭按钮 #6402
showClose
Rate
新增 show-score 属性,控制是否在右侧显示当前分数 #6295
show-score
Tabs
新增 tab-position 属性,控制选项面板内容显示的上、下、左、右四个方向 #6096
tab-position
Radio
增加 border 属性和 size 属性 #6690
border
Checkbox
Alert
新增 center 属性,提供居中布局 #6876
Menu
新增 background-color、text-color 和 active-text-color 属性,分别用于设置菜单的背景色、菜单的文字颜色和当前激活菜单的文字颜色 #7064
background-color
text-color
active-text-color
新增 open 和 close 方法,支持手动打开和关闭 SubMenu,#7412
open
close
Form
新增 inline-message 属性,设置后校验信息会以行内样式显示 #7032
inline-message
新增 status-icon 属性,用于在输入框中显示校验结果反馈图标 #7032
status-icon
Form 和 FormItem 新增 size 属性,用于控制表单内组件的尺寸,#7428
validate 方法在不传入 callback 的情况下返回 promise,#7405
validate
新增 clearValidate 方法,用于清空所有表单项的验证信息,#7623
clearValidate
Input
新增 suffix、prefix 的 slot,以及 suffixIcon、prefixIcon 属性,用于给输入框内部增加前置和后置内容 #7032
suffix
prefix
suffixIcon
prefixIcon
Breadcrumb
新增 separator-class 属性,可使用图标作为分隔符 #7203
separator-class
Steps
新增 simple 属性,用于开启简洁风格的步骤条 #7274
simple
Pagination
新增 prev-text 和 next-text 属性,用于自定义上一页和下一页的文本 #7005
prev-text
next-text
Loading
配置对象新增 spinner 和 background 字段,支持自定义加载图标和背景色,#7390
spinner
background
Autocomplete
新增 debounce 属性,#7413
debounce
Upload
新增 limit 和 on-exceed 属性,支持对上传文件的个数进行限制,#7405
limit
on-exceed
DateTimePicker
新增 time-arrow-control 属性,用于开启时间选择器的 arrow-control,#7438
time-arrow-control
Layout
新增断点 xl,适用于宽度大于 1920px 的视口
xl
Table
新增 span-method 属性,用于合并行或列
span-method
新增 clearSort 方法,用于清空排序状态
clearSort
新增 clearFilter 方法,用于清空过滤状态
clearFilter
对于可展开行,当该行展开时会获得一个 .expanded 类名,方便自定义样式
.expanded
新增 size 属性,用于控制表格尺寸
新增 toggleRowExpansion 方法,用于手动展开或关闭行
toggleRowExpansion
新增 cell-class-name 属性,用于指定单元格的类名
cell-class-name
新增 cell-style 属性,用于指定单元格的样式
cell-style
新增 header-row-class-name 属性,用于指定表头行的类名
header-row-class-name
新增 header-row-style 属性,用于指定表头行的样式
header-row-style
新增 header-cell-class-name 属性,用于指定表头单元格的类名
header-cell-class-name
新增 header-cell-style 属性,用于指定表头单元格的样式
header-cell-style
TableColumn 的 prop 属性支持 object[key] 格式
prop
object[key]
TableColumn 新增 index 属性,用于自定义索引值
index
Select
新增 reserve-keyword 属性,用于在选择某个选项后保留当前的搜索关键词
reserve-keyword
DatePicker
选择周数时,v-model 结果返回该周第二天的问题 #6038
v-model
在 daterange 类型中,第一次的输入会被清空的问题 #6021
daterange
和 TimePicker 相互影响的问题 #6090
选择时间小时和秒可超出限制的问题 #6076
失去焦点时无法正确改变 v-model 值的问题 #6023
当含有下拉框时,下拉框的打开和关闭会造成文字虚晃的问题 #6088
提升性能,修复组件销毁时可能导致 Vue dev-tool 卡死的问题 #6151
修复 Table 在父元素从 display: none 变成其他状态时会隐藏的问题
display: none
修复 Table 在父元素为 display: flex 时可能出现的宽度逐渐变大的问题
display: flex
修复 append 具名 slot 和固定列并存时,动态获取表格数据会导致固定列消失的问题
append
修复 expand-row-keys 属性初始化无效的问题
expand-row-keys
修复 data 改变时过滤条件失效的问题
data
修复多级表头时固定列隐藏情况计算错误的问题
修复 max-height 变更后无法恢复的问题
max-height
修复一些样式上的计算错误
移除 theme-default
theme-default
最低兼容 Vue 2.5.2 和 IE 10
表单组件的 change 事件和 Pagination 的 current-change 事件现在仅响应用户交互
change
current-change
Button 和表单组件的 size 属性不再接受 large 值,可接受 medium、small 和 mini
large
medium
small
mini
为了方便使用第三方图标,Button 的 icon 属性、Input 的 prefix-icon 和 suffix-icon 属性、Steps 的 icon 属性现在需要传入完整的图标类名
icon
prefix-icon
suffix-icon
移除 size 属性。现在 Dialog 的尺寸由 width 和 fullscreen 控制
移除通过 v-model 控制 Dialog 显示和隐藏的功能
text-template 属性更名为 score-template
text-template
score-template
Dropdown
menu-align 属性变更为 placement,增加更多方位属性
menu-align
placement
Transfer
footer-format 属性更名为 format
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
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 属性不再有默认值
active-text
inactive-text
type 属性现在支持 success、info、warning 和 danger 四个值
type
success
info
warning
danger
移除 theme 属性。现在通过 background-color、text-color 和 active-text-color 属性进行颜色的自定义
theme
移除 icon 属性。现在通过 suffix-icon 属性或者 suffix 具名 slot 来加入尾部图标
移除 on-icon-click 属性和 click 事件。现在如果需要为输入框中的图标添加点击事件,请以具名 slot 的方式添加图标
on-icon-click
click
change 事件现在仅在输入框失去焦点或用户按下回车时触发,与原生 input 元素一致。如果需要实时响应用户的输入,可以使用 input 事件
input
移除 custom-item 属性。现在通过 scoped slot 自定义输入建议列表项的内容
custom-item
scoped slot
移除 props 属性,现在使用 value-key 属性指定输入建议对象中用于显示的键名
props
value-key
移除 center 属性
现在步骤条将默认充满父容器
change 事件参数现在为组件的绑定值,格式由 value-format 控制
移除通过 inline-template 自定义列模板的功能
inline-template
sort-method 现在和 Array.sort 保持一致的逻辑,要求返回一个数字
sort-method
Array.sort
将 append slot 移至 tbody 元素以外,以保证其只被渲染一次
tbody
expand 事件更名为 expand-change,以保证 API 的命名一致性
expand
expand-change
row-class-name 和 row-style 的函数参数改为对象,以保证 API 的一致性
row-class-name
row-style
* 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。因此请在 dangerouslyUseHTMLString 打开的情况下,确保 message 的内容是可信的,永远不要将用户提交的内容赋值给 message 属性。
Source code (zip)
Source code (tar.gz)
评论删除后,数据将无法恢复
Element 2.0.0 正式版发布,带来大量新特性
Element 2.0.0 正式版已发布。Element 是饿了么开源的一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型。
新特性
综合
新增
theme-chalk主题增强以下组件的可访问性:Alert、AutoComplete、Breadcrumb、Button、Checkbox、Collapse、Input、InputNumber、Menu、Progress、Radio、Rate、Slider、Switch 和 Upload
新增布局组件 Container、Header、Aside、Main 和 Footer
新增 TypeScript 类型声明
重绘了全部图标,并新增了部分图标
新增了一系列基于断点的工具类,用于当视口尺寸满足一定条件时隐藏元素
新增全局配置组件尺寸的功能。在引入 Element 时,配置
size字段可以改变所有组件的默认尺寸Button
新增
round属性,用于圆角按钮 #6643TimeSelect
可以用
Up、Down导航,用Enter选中时间 #6023TimePicker
可以用方向键导航,用
Enter选中时间 #6050新增
start-placeholder和end-placeholder,用于设置范围选择时两个输入框的占位符 #7169新增
arrow-control属性,提供另一种交互形式,#7438Tree
子节点在首次被展开之前不进行渲染 #6257
新增
check-descendants属性,设置lazy模式下勾选节点时,是否完全展开整个子树 #6235Tag
新增
size属性 #7203Datepicker
type 为
datetimerange时可以使用timeFormat格式化时间选择器 #6052新增
start-placeholder和end-placeholder,用于设置范围选择时两个输入框的占位符 #7169新增
value-format属性,支持对绑定值的格式进行自定义,#7367新增
unlink-panels属性,用于在选择日期范围时取消两个日期面板之间的联动MessageBox
新增
closeOnHashChange属性 #6043新增
center属性,提供居中布局 #7029新增
roundButton属性,使得内部按钮为圆角按钮 #7029新增
dangerouslyUseHTMLString属性,使得message支持传入 HTML 字符串* #6043新增
inputType属性,用户指定内部输入框的类型,#7651Dialog
新增
width、fullscreen、append-to-body属性,支持嵌套使用新增
center属性,提供居中布局 #7042新增
focus-after-closed、focus-after-open属性,支持无障碍访问 #6511ColorPicker
增加手动输入色值的支持 #6167
新增
size属性,用于控制组件的大小 #7026新增
disabled属性,用于禁用组件 #7026新增
popper-class属性,#7351Message
图标部分使用 icon 代替图片,从而支持通过 CSS 修改图标背景色 #6207
新增
dangerouslyUseHTMLString属性,使得message属性支持传入 HTML 字符串* #6207新增
center属性,提供居中布局 #6875Notification
新增
position属性,用于配置 Notification 出现的位置 #6231新增
dangerouslyUseHTMLString属性,使得message属性支持传入 HTML 字符串* #6231新增
showClose属性,用于隐藏关闭按钮 #6402Rate
新增
show-score属性,控制是否在右侧显示当前分数 #6295Tabs
新增
tab-position属性,控制选项面板内容显示的上、下、左、右四个方向 #6096Radio
增加
border属性和size属性 #6690Checkbox
增加
border属性和size属性 #6690Alert
新增
center属性,提供居中布局 #6876Menu
新增
background-color、text-color和active-text-color属性,分别用于设置菜单的背景色、菜单的文字颜色和当前激活菜单的文字颜色 #7064新增
open和close方法,支持手动打开和关闭 SubMenu,#7412Form
新增
inline-message属性,设置后校验信息会以行内样式显示 #7032新增
status-icon属性,用于在输入框中显示校验结果反馈图标 #7032Form 和 FormItem 新增
size属性,用于控制表单内组件的尺寸,#7428validate方法在不传入 callback 的情况下返回 promise,#7405新增
clearValidate方法,用于清空所有表单项的验证信息,#7623Input
新增
suffix、prefix的 slot,以及suffixIcon、prefixIcon属性,用于给输入框内部增加前置和后置内容 #7032Breadcrumb
新增
separator-class属性,可使用图标作为分隔符 #7203Steps
新增
simple属性,用于开启简洁风格的步骤条 #7274Pagination
新增
prev-text和next-text属性,用于自定义上一页和下一页的文本 #7005Loading
配置对象新增
spinner和background字段,支持自定义加载图标和背景色,#7390Autocomplete
新增
debounce属性,#7413Upload
新增
limit和on-exceed属性,支持对上传文件的个数进行限制,#7405DateTimePicker
新增
time-arrow-control属性,用于开启时间选择器的arrow-control,#7438Layout
新增断点
xl,适用于宽度大于 1920px 的视口Table
新增
span-method属性,用于合并行或列新增
clearSort方法,用于清空排序状态新增
clearFilter方法,用于清空过滤状态对于可展开行,当该行展开时会获得一个
.expanded类名,方便自定义样式新增
size属性,用于控制表格尺寸新增
toggleRowExpansion方法,用于手动展开或关闭行新增
cell-class-name属性,用于指定单元格的类名新增
cell-style属性,用于指定单元格的样式新增
header-row-class-name属性,用于指定表头行的类名新增
header-row-style属性,用于指定表头行的样式新增
header-cell-class-name属性,用于指定表头单元格的类名新增
header-cell-style属性,用于指定表头单元格的样式TableColumn 的
prop属性支持object[key]格式TableColumn 新增
index属性,用于自定义索引值Select
新增
reserve-keyword属性,用于在选择某个选项后保留当前的搜索关键词修复
DatePicker
选择周数时,
v-model结果返回该周第二天的问题 #6038在
daterange类型中,第一次的输入会被清空的问题 #6021DateTimePicker
和 TimePicker 相互影响的问题 #6090
选择时间小时和秒可超出限制的问题 #6076
TimePicker
失去焦点时无法正确改变
v-model值的问题 #6023Dialog
当含有下拉框时,下拉框的打开和关闭会造成文字虚晃的问题 #6088
Select
提升性能,修复组件销毁时可能导致 Vue dev-tool 卡死的问题 #6151
Table
修复 Table 在父元素从
display: none变成其他状态时会隐藏的问题修复 Table 在父元素为
display: flex时可能出现的宽度逐渐变大的问题修复
append具名 slot 和固定列并存时,动态获取表格数据会导致固定列消失的问题修复
expand-row-keys属性初始化无效的问题修复
data改变时过滤条件失效的问题修复多级表头时固定列隐藏情况计算错误的问题
修复
max-height变更后无法恢复的问题修复一些样式上的计算错误
非兼容性更新
综合
移除
theme-default最低兼容 Vue 2.5.2 和 IE 10
表单组件的
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-templateDropdown
menu-align属性变更为placement,增加更多方位属性Transfer
footer-format属性更名为formatSwitch
由于
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-valueactive-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自定义输入建议列表项的内容移除
props属性,现在使用value-key属性指定输入建议对象中用于显示的键名Steps
移除
center属性现在步骤条将默认充满父容器
DatePicker
change事件参数现在为组件的绑定值,格式由value-format控制Table
移除通过
inline-template自定义列模板的功能sort-method现在和Array.sort保持一致的逻辑,要求返回一个数字将
appendslot 移至tbody元素以外,以保证其只被渲染一次expand事件更名为expand-change,以保证 API 的命名一致性row-class-name和row-style的函数参数改为对象,以保证 API 的一致性* 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。因此请在
dangerouslyUseHTMLString打开的情况下,确保message的内容是可信的,永远不要将用户提交的内容赋值给message属性。下载地址:
Source code (zip)
Source code (tar.gz)