-
升级
react
版本至^16.2.0
,从3.1.0
开始不再支持react@15
版本。- 项目中所依赖的
react
版本需要一并升级至^16.2.0
,否则会导致引用两个不同版本的react
而报错。 - 项目中所依赖的
yo-router
版本需要一并升级至1.2.0
版本。
- 项目中所依赖的
-
如需继续使用
react@15
,请将项目中 package.json 的yo3
的版本改为~3.0.x
,yo-router
的版本改为~1.1.x
。
详细的升级方法请查看 升级文档。
- 修复
elastic-in-up
,elastic-in-right
,elastic-in-down
,elastic-in-left
动画在 iOS 10 Safari 上的兼容问题。
PopupPicker
和PopupDateTimePicker
组件增加onSelect
属性。
- 修复自定义样式目录中有多层目录时
post install
脚本报错的问题。
Alert
和Confirm
组件增加extraClass
属性,content
属性支持传入 jsx。
- 修复
scroller.js
中因refs.wrapper
不存在而报错的问题
Scroller/List/GroupList/SwipeMenuList
添加contentInset
参数,用来在内容区域底部加上间隙(主要用于适配 iPhoneX,在内容最下方留出空间)。- 添加
autoBlur
工具函数,可以通过import { autoBlur } from 'yo3/component/common/util.js
来使用。 Toast
支持传入回调函数,详见Toast
使用说明。- 为
ellipsis
方法内置强制换行(当$line-clamp
大于1
时,即多行截断)。
- 修复
Modal
在某些情况下,componentWillUnmount
先于componentDidMount
执行导致的 bug。 - 修复
InputNumber
在某些安卓手机键盘收起时,数值还原的 bug。 - 修复
Scroller
的refreshLazyImage
方法在某些情况下,未能刷新全部图片位置的 bug。 - 修复
Scorller
子元素存在 input 输入框时,浏览器强制让 input 显示在可见区域,收缩键盘后无法向上滑倒顶部的 bug。 - 修复
LazyImage
在List
组件的非 infinite 模式下,加载更多数据之后报错的 bug。
Scroller
新增refreshLazyImage
方法,在页面内容变化时,手动刷新 LazyImage。
- 修复 当元素宽度出现小数时,使用
border
方法边框可能显示不全的问题。 - 修复
LazyImage
在频繁更新图片地址时,有可能加载顺序出现混乱的问题。
- 新增对
summary
元素的响应轮廓的reset定义; - 新增对
summary
展开收起三角箭头标识的reset定义; - 新增
fixed-scale
方法用以在自适应宽度情况下,确保内容元素的宽高比固定,比如:实现随屏幕大小而变化的正方形。 carousel
默认动画aniScrollx
,aniInfinate
动画添加非循环播放底页拖动弹性效果。carousel
添加禁用动画手势响应配置disable
Popup
组件的额外样式定义增加wrapperExtraClass
配置项,用来设置内容区域的额外样式。
- 修复
reset
里对清除响应轮廓的选择符错误,select
与a
之间少了逗号分隔。 - 修复因为
React
升级而出现的PropTypes
的 warning。 - 修复
Suggest
在结果列表上滚动时无法自动收起键盘的 bug。(但是,在部分安卓机器上,调用 blur 也无法让键盘收起,暂时无法解决) - 修复
Scroller
组件当内容过少时,首次进入,"加载更多"部分定位错误的 bug。
Calendar
添加allowSelectionBeforeToday
属性,允许用户选择当前日期之前的时间段。Picker
添加itemHeight
属性,用来设置 item 高度。
- 修复
Scroller
在调用scrollTo
方法时,吸顶容器没有被正确刷新的 bug。 - 修复
Scroller
在回弹过程中点击页面导致无法回弹到正确位置的 bug。 - 修复
LazyImage
在更新之后获取位置不正确导致图片无法加载的 bug。 - 修复
Calendar
当duration
的起始日期大于当前日期时,可选择区域不准确的 bug。 - 修复
Calendar
当duration
属性改变时,起始日期所在的周未及时更新的 bug。 - 修复
Calendar
在onChange
触发时,输出的格式不规范的 bug,将 YYYY-MM-(D)D 格式改成 YYYY-MM-DD 格式。 - 修复
Carousel
当 触发toucheEnd
事件时没有生成对应touch
对象情况下, 没有重置定时器的 bug。
yo-timeline
时间轴元件新增$first-item-color
参数指定首项的颜色,用以区别其他项。Carousel
组件新增内置自定义动画,实现循环无限节点。Carousel
组件添加window.resize
事件,并提供handleResize
方法用于当父容器宽度变化时手动调整组件。PopupPicker
和PopupDateTimePicker
组件添加beforePopupShow
属性,在点击选择区域后触发,可以用来阻止弹层的弹出。
- 修复
PopupPicker
和PopupDateTimePicker
一起使用时,PopupDateTimePicker
内部宽度为0
导致内容不可见的 bug。 - 修复
Suggest
组件在results
为null
时提示List DataSource
错误,而不是展示noDataTmpl
的bug。 - 修复
PopupDateTimePicker
组件打开弹层后弹层内容宽度为0的bug。
PopupPicker
新增多列Picker模式,如果给options
属性传入一个二维数组,就可以开启多列模式。请参考PopupPicker
文档。Scroller
和所有列表组件新增APIresetLoadStatus
,用来重置加载更多
功能。- 调整了
Scroller
默认的减速摩擦系数,提升用户体验。 Carousel
内置子节点Carousel.Item
增加内部渲染方法renderContent
。Carousel
内置索引增加点击跳转到索引页面功能。Touchable
增加属性disabled
,可以控制点击区域是否处于可用状态。- 新增
yo-timeline
时间轴元件。 Calendar
: 在传入selectionStart
属性的情况下,会自动滚动到选中日期的月份。
- 修复
List
在非infinite
模式下调用refresh
方法时不能正确刷新Scroller
滚动信息的bug。 - 修复
GroupList
在结合Modal
系列组件时,调用refresh
方法不能正确刷新吸顶title的bug。 - 修复
Carousel
在压缩后为当前播放子组件添加activeClass
失败的bug。 - 修复
infinite
模式的列表组件中使用LazyImage
组件时,加载图片可能发生错乱的bug。 - 修复
SwipeMenuList
组件的onMenuOpen
和onMenuClose
在使用Immutable
数据结构时第一个参数为undefined
的 bug。
- 列表系列组件删除了
staticSectionHeight
属性,这意味着在使用staticSection
时不再需要确定静态区域的高度,这个高度将会在组件mount或update时自动获取。 GroupList
新增属性titleOffset
,可以设置吸顶容器的y轴偏移。MultiList
原有事件onChange
回调新增参数newItems
,表示当前value值对应的item
集合。MultiList
原有方法renderItem
参数新增属性route
,表示当前item值对应的dataSource
中的索引值。GroupList
和SwipeMenuList
新增refresh
方法,在组件容器尺寸发生变化时需要调用这个方法来刷新内部的Scroller
。- 给列表系列组件
infinite
模式做了一些性能优化,现在在低端机型上滚动性能更佳。 Scroller
和所有列表组件(List
,GroupList
和SwipeMenuList
)新增stickyOffset
属性,可以设置吸顶容器的y轴偏移。Scroller
新增属性containerExtraStyle
,主要用来在横向滚动时,动态的设置内容容器的宽度。Calendar
组件新增属性renderDate
,现在可以自定义日期的渲染方式。
- 修复
Scroller
的refresh
方法在不必要的情况下查询wrapper.offsetHeight
和scroller.offsetHeight
导致List
无穷模式滚动性能变差的bug。 - 修复
GroupList
吸顶容器在组件的默认display
不为none
导致组件Mount时出现一个闪烁的灰色条的bug。 - 修复
MultiList
的数据更新后视图没有更新的bug。 - 修复
MultiList
在每次render
时都触发onUpdateData
回调的bug。 - 修复
Calendar
组件展示超过一年的日期时,超出一年的月份展示错误的bug。
- 新增组件
PopupPicker
和PopupDateTimePicker
。这两个组件封装了原始的Picker
和DateTimePicker
组件,提供了更加便于使用的弹出式选择器。详情请参考这两个组件的文档。 List
,GroupList
,SwipeMenuList
现在加入对Immutable
数据类型的支持,详情请参考List
文档。List
的shoudItemUpdate
属性去除了冗余的第一个参数ret
,现在它只会在ListItem
默认配置的shouldComponentUpdate
返回值为false
时触发。SwipeMenuList
现在可以配置shouldItemUpdate
方法了,它的使用方式与List
组件一致。Suggest
新增onSubmit
属性,可以配置点击搜索键时的回调。Carousel
组件内置自定义动画支持配置参数。align()
mixin 移除对type
参数的支持 (Issues #42)。
- 修复
Scroller
的scrollTo
方法在不传参数调用时导致Scroller
无法滚动的bug。 - 修复
Suggest
在iOS
上结果列表滚动后,以及点击输入框x
图标后,输入框无法聚焦的 bug。 - 修复
GroupList
设置了titleHeight
属性以后吸顶效果不准确的 bug。 - 修复
GroupList
的itemTouchClass
传入函数时报PropType
验证不通过警告的bug。 - 修复
GroupList
的titleHeight
属性发生变化后不生效的bug。 - 修复
GroupList
在设置titleExtraClass
以后默认的label
类名被覆盖导致在infinite
模式下title
定位不准确的bug。 - 修复
GroupList
的吸顶容器的display
属性始终为block
的 bug。 - 修复
Suggest
键盘按钮在iOS
上不为搜索
,以及点击按钮后页面reload的bug。 - 修复
Calendar
在选择日期时月份label
重新创建导致性能不理想的问题。 - 修复
Carousel
组件在default
动画下节点使用lazyload
和defaultPage
时 加载异常的问题。 - 修复
yo-list
在infinite
时,顶部出现间隔线的问题。 - 修复
yo-search
参数input-height
无效的问题 (Issues #41)。
Suggest
结果列表现在支持开启Infinite
模式,可以配置infinite
,infiniteSize
和itemHeight
三个属性。MultiList
重构版本重新上线,dataSource
的配置方式做了大幅调整,现在可以通过renderItem
和renderContent
属性更方便的配置组件子菜单的展示方式。CarouselItem
组件的属性做了大幅度精简,删除了冗余的index
,currentPage
和pagesNum
三个属性。
- 修复
Suggest
在输入条件改变时,结果列表没有自动重置到顶部的bug。 - 修复
GroupList
在分组变化以后导航栏拖动时定位不准的bug。 - 修复
LazyImage
在List
不定高Infinite
模式下更新时机不准确的bug。 - 修复
Touchable
内部嵌套LazyImage
时无效的bug。
List
,GroupList
和SwipeMenuList
新增属性staticSection
和staticSectionHeight
, 可以在所有的列表项之上渲染一个静态区域,在开启Infinite
模式时,这一部分的节点不会参与回收复用的逻辑。SwipeMenuList
组件现在将菜单的配置从dataSource
中分离出来,可以通过属性getMenuConfig
配置。另外renderMenuContent
属性 已经改名为renderItem
,这样可以让所有列表系列组件使用相似的属性名。- classes 里的
killspace
mixin 重命名为clearspace
,因为kill
这个单词给人一种不安的感觉。
- 修复
Scroller
在传入多余wrapper节点时Sticky
不生效的bug。 - 修复
Scroller
重置useLoadMore
参数时loadMore节点位置不正确的bug。 - 修复
List
在惯性滑动到底部时加载更多Icon频繁调换方向的bug。 - 修复
Suggest
结果区域无法滚动的bug。 - 修复
Suggest
取消按钮和输入框图标无触摸反馈效果的bug。 - 修复
Grouplist
在存在未分组元素的情况下,通过导航栏快速跳转到第一个分组时白屏的bug。 - 修复
SwipeMenuList
的onItemTap
在内容区域存在dom嵌套时不触发的bug。 - 修复
SwipeMenuList
列表项内容区存在嵌套dom时点击内容区域不会自动关闭菜单项的bug。 - 修复
Calendar
最后一周不满七天时自动补齐会出现某月第32天的情况。 - 修复
Dialog
和ActionSheet
组件在某些安卓手机上按钮触摸反馈效果不消失的bug。
- 新增
Scroller.Sticky
组件,可以便捷地给Scroller
内部的节点添加吸顶效果。 Scroller
,List
,Grouplist
,SwipeMenuList
新增实验属性scrollWithoutTouchStart
,允许在没有收到touchstart
事件时开始滚动。- 现在
List
组件不再有默认的撑满父容器的内联样式,这意味着可以使用extraClass
自由调整List
根节点的尺寸,同时也 必须 在使用前通过extraClass
或者style
指定它的高度。 List
、Grouplist
、SwipeMenuList
组件新增style
属性,可以直接给它们的容器节点设置样式(这在某些需要计算样式的情境下会有用)。SwipeMenuList
组件现在可以通过itemTouchClass
配置点击反馈效果。SwipeMenuList
增加了onMenuOpen
和onMenuClose
两个事件回调,可以用来监听菜单项打开状态的变化。
- 修复
Modal
组件z-index
和Yo-Router
容器冲突问题。 - 修复
Touchable
组件在相互嵌套时手势发生冲突的bug。 - 修复
Scroller
加载LazyImage
时机不准的bug。 - 修复
Scroller
在横竖屏切换时报在unmount组件上调用forceUpdate
错误提示的bug。 - 修复
Scroller
在refresh时没有重置加载更多文本的错误。 - 修复
List
组件不定高infinite
模式下,调用scrollTo(0)
白屏的问题。 - 修复
Grouplist
没有暴露disable
属性的错误。 - 修复
Grouplist
在不定高Infinite
模式下,设置过offsetY
属性后初始吸顶title不展示的bug。 - 修复
SwipeMenuList
组件点击打开的列表项时,在关闭列表项的同时触发了列表项的tap
事件的bug。
Alert
和Confirm
API现在支持传入一个opt对象作为参数,除了content,title和animation外,里面还可以指定btnText属性来定制"确定"和"取消"按钮的文本。MultiList
组件增加了extraClass属性,可以给根节点绑定额外样式类。List
现在可以通过extraClass设置样式来调整根节点的宽高,之前是直接设定的style属性为{position:absolute;top:0;bottom:0}所以无法修改。这意味着不再需要将List放入一个父容器中。MultiList
updateValue属性改名为onChange。
- 修复
CarouselItem
手势滑动到最后一页时无法后退的bug。 - 修复
Grouplist
组件groupkey为0或者其他假值时不能正常渲染分组标题的bug - 修复
LazyImage
组件销毁时加载图片导致控制台警告的bug。 - 修复
List
组件自动调整offsetY时的位置错误。 - 修复
List
组件非Infinite模式下onItemTap属性第二个参数为undefined的错误。 - 修复
SwipeMenu
组件propType的警告。 - 修复
Suggest
组件结果item默认touchClass的错误。 - 修复异步载入
Yo
时Fastclick初始化方法未执行的错误。
- 全新架构设计
由于
v3.0.0
引入了交互组件,并对原有结构做了大幅度的调整,所以不建议从旧版本升级,推荐在新项目和重构项目中使用。