更新日志
v2.0.0
2019-06-12
主要变动
- 增加四个新组件
- 增加数十个 API
- 优化无障碍访问
- 全新的卡片风格文档,支持文档搜索
- 所有组件支持通过
less
变量自定义样式 - 调整了部分不合理的命名,废弃少量 API
新组件
在 2.0 版本中,我们引入了社区中呼声最高的四个组件,分别是:
- Image 图片,类似于小程序原生的 Image 标签,支持多种图片裁剪模式
- IndexBar 索引栏,通讯录中的字母索引栏,用于长列表快速索引
- Skeleton 骨架屏,在待加载区域展示的占位区块,提供界面加载过程中的过渡效果
- DropdownMenu 下拉菜单,用于列表的分类选择、筛选及排序
新文档
文档方面,我们重新设计了文档站点,用卡片的方式组织段落,更加直观。对一些较为复杂的组件,我们对示例进行细粒度的拆分,添加更多的用法介绍,以帮助大家更快地上手使用。
此外,文档站点也支持了搜索和版本切换。
样式定制
移动端 UI 风格多变,对组件的可定制性要求较高。从 2.0 版本开始,Vant 中的所有组件都支持通过 Less 变量进行样式定制。同时我们新增了较多样式相关的 Props,便于快速定制组件风格。
更轻量
轻量化是 Vant 的核心开发理念之一。在过去一年多时间里,我们新增了若干个组件和数百项功能,而代码包体积从 1.0 版本的 169kb 降低到了 2.0 版本的 161kb(45kb gzipped),平均每个组件体积下降 13%,这主要得益于组件内部逻辑的重构和复用。
在未来的 Vue 3.0 版本中,会提供 Function-based API 这一更优的逻辑复用方式,预计能帮助 Vant 进一步优化代码包体积。
不兼容更新
2.0 版本中包含少量不兼容更新,主要是调整命名和移除个别属性。对于正在使用 1.x 版本的项目,请按照下方的列表依次检查,大部分项目可以无痛升级。
Actionsheet
- 重命名为
ActionSheet
Button
- 移除
bottom-action
属性,请使用square
和size
代替
Field
- 移除
on-icon-click
属性,请使用click-right-icon
事件代替 icon
属性重命名为right-icon
icon
插槽重命名为right-icon
click-icon
事件重命名为click-right-icon
GoodsAction
GoodsActionBigBtn
重命名为GoodsActionButton
GoodsActionMiniBtn
重命名为GoodsActionIcon
GoodsActionBigBtn
移除primary
属性,请使用type
属性代替
Step
- 移除
icon
属性 - 移除
title
属性 - 移除
icon-class
属性 - 移除
description
属性 - 移除
message-extra
插槽
Badge
BadgeGroup
重命名为Sidebar
Badge
重命名为SlidebarItem
Loading
- 移除
circle
类型 - 移除
gradient-circle
类型
Checkbox
- 调整为
flex
布局,可能对原有布局产生影响
Radio
- 调整为
flex
布局,可能对原有布局产生影响
Waterfall
- 移除在 1.0 版本废弃的 Waterfall 组件,请使用
List
组件代替,或使用独立的@vant/waterfall包。
无障碍访问
对以下组件增加了无障碍访问的支持:
- Accordion
- Checkbox
- Dialog
- DropdownMenu
- GoodsAction
- List
- NoticeBar
- NumberKeyboard
- Radio
- Rate
- Stepper
- Tab
- Slider
- Switch
新特性
ActionSheet
- 新增
lock-scroll
属性 - 新增
click-overlay
事件 - 新增
close-on-click-action
属性 - 支持同时使用
title
和actions
属性
Area
- 支持
reset
方法传入code
参数
Button
- 新增
icon
属性 - 新增
loading-type
属性
Checkbox
- 新增
icon-size
属性
DatetimePicker
- 新增
filter
属性
Field
- 新增
input
插槽 - 新增
click
事件 - 新增
clickable
属性 - 新增
label-class
属性 - 优化输入体验,输入法拼写过程中不再会触发
v-model
更新
GoodsActionButton
- 新增
type
属性
Icon
- 支持
Number
类型的size
属性
ImagePreview
- 新增
close-on-popstate
属性
List
- 优化滚动判断逻辑
Loading
- 新增
default
插槽 - 新增
vertical
属性 - 新增
text-size
属性 - 支持
Number
类型的size
属性
Notify
- 新增
onClick
选项 - 新增
onClose
选项 - 新增
onOpened
选项
NoticeBar
- 新增
left-icon
插槽 - 新增
right-icon
插槽
PasswordInput
- 新增
gutter
属性
Picker
- 支持惯性滚动
- 新增
toolbar-position
属性
Popup
- 新增
click
事件 - 新增
duration
属性
Radio
- 新增
icon-size
属性
Rate
- 新增
gutter
属性 - 支持
String
类型的size
属性
Search
- 新增
clearable
属性 - 新增
left-icon
属性 - 新增
right-icon
属性 - 新增
right-icon
插槽 - 优化输入体验,输入法拼写过程中不再会触发
v-model
更新
Slider
- 新增
drag-start
事件 - 新增
drag-end
事件
Steps
- 新增
inactive-icon
属性 - 新增
inactive-icon
插槽
Stepper
- 支持
Number
类型的input-width
属性
SubmitBar
- 新增
tip-icon
属性 - 新增
suffix-label
属性
SwipeCell
- 支持自动计算
left-width
和right-width
Switch
- 加载图标颜色现在会跟随背景色变化
SwitchCell
- 新增
border
属性 - 新增
cell-size
属性
Sku
- 新增
preview-open
事件 - 新增
preview-close
事件
Tab
- 新增
border
属性 - 优化
animated
动画性能 - 修复开启
animated
后高度错误的问题
Tabbar
- 新增
route
属性 - 新增
border
属性 - 新增
inactive-color
属性
TabbarItem
- 新增
name
属性
Toast
- 新增
onOpened
选项
Uploader
- 新增上传区域默认样式
- 新增
delete
事件 - 新增
upload-text
属性 - 新增
max-count
属性 - 新增
preview-size
属性 - 新增
preview-image
属性 - 支持通过
v-model
绑定文件列表 oversize
事件增加detail
参数
后续计划
我们计划在今年下半年推出 VantWeapp 1.0 版本,目标是对标 Vant 2.0 版本,将大部分新组件和新功能同步到小程序端。
同时,Vant 3.0 版本也在酝酿当中,不出意外的话,3.0 版本会基于 Vue 3.0 实现,并争取和 Vue 3.0 同期发布。
对于 Vant 1.x 版本,后续会进入维护期,跟进问题修复,但不再引入功能性改动。