您现在的位置是:首页 > 文章详情

React Suite 4.4.0 版本发布 🎉,带来了一些新特性

日期:2020-04-24点击:519

家人们啊 👨‍👩‍👧‍👦,React Suite 又双叒叕更新了 🎉,在这全球新冠病毒的笼罩下,希望本次 V4.4.0 发布的新特性能给大家带来一丝丝心情上的改变 😄。

1、Table 支持页面级固定滚动条与表头

为什么有这个功能? 我们看看一个使用场景:一个表格如果一页要显示100 行数据,表格自动高度,表格内部不出现滚动条,通过页面滚动条浏览表格数据,但是,业务要求表格的列又很多,出现了横向滚动条,如果要浏览表格最右侧列的数据,首先需要页面滚动到最底部,然后再操作横向滚动条,想想这整个过程就很难受 😭。如果你的业务没办法通过修改设计解决,那这个新特性对你来说应该"真香" 😋, 先看看效果:

新增属性:

 { affixHeader: boolean|number affixHorizontalScrollbar: boolean|number } 
  • affixHeader 将表头固定到页面上的指定位置
  • affixHorizontalScrollbar 将横向滚动条固定在页面底部的指定位置

😈破坏性变更

Table 在实际的业务中,往往都需要在数据更新后重置滚动条的位置,但是在某些业务情况下又不能重重滚动条位置,比如异步加载 Tree 节点,表格内编辑等等。在 V4.4.0 之前版本的处理逻辑是根据数据行数发生变化,同时不是 TreeTable 情况下的数据更新会重重滚动条。但是,在实际的业务中还是有很多复杂的业务情况,所以在这个版本中新增了 API 让开发者自己控制是否更新滚动条。

 { shouldUpdateScroll:boolean; onDataUpdated:(nextData: object[], scrollTo: (coord: { x: number; y: number }) => void) => void; } 
  • shouldUpdateScroll 数据更新后更新滚动条位置,默认为 true。
  • onDataUpdated 数据更新后的回调函数。

2、新增 Rete 组件

一个评分组件,表示用户对内容的的评价。

示例代码

 <Rate defaultValue={2.5} allowHalf /> 

支持的功能包括:

  • 支持设置组件大小。
  • 支持设置组件的颜色。
  • 支持半选,及垂直半选。
  • 支持禁用与只读,在表单中使用。
  • 支持使用其他 Icon、emoji、数字、中文或是其他 SVG 图标。

3、Tree 组件新增支持拖拽

在需要对一个树结构的数据进行调序,修改层级的时候,Tree 的拖拽功能能够很方便实现这个操作。只需要为 Tree 组件设置一个 draggable 属性。

 <Tree draggable data={data} /> 

4、DatePicker 支持 12 小时制 🕒

DatePicker 默认时间的选择是 24 小时制,12 小时制是业务中经常会用到的一种方式。所以新增了一个 showMeridian 属性,用于支持 12 小时制。

 <DatePicker showMeridian format="YYYY-MM-DD HH🇲🇲ss" /> 

5、Progress 支持垂直显示

<Progress.Line> 组件新增 vertical 属性,垂直显示进度条。

 <Progress.Line vertical /> 

6、支持自定义浮层

Whisper 组件可以监听一个元素,对元素进行操作时候,会在其周围打开一个浮层,用于相关信息的提示,比如 Popover 与 Tooltip。

 <Whisper trigger="click" speaker={<Popover>popover!</Popover>} > <Button>click me</Button> </Whisper> 

在这次的版本中,Whisper 可以支持打开一个自定义的浮层。

 const Overlay = React.forwardRef(({ style, ...rest }, ref) => { const styles = { ...style, background: '#000', padding: 20, borderRadius: 4, position: 'absolute', boxShadow: '0 3px 6px -2px rgba(0, 0, 0, 0.6)' }; return ( <div {...rest} style={styles} ref={ref}> Overlay </div> ); }); const App = () => ( <Whisper trigger="click" speaker={(props, ref) => { const { className, left, top } = props; return <Overlay style={{ left, top }} className={className} ref={ref} />; }} > <Button>Test</Button> </Whisper> ); 

7、其他更新

  • Feature: 新增对意大利语言支持。
  • Feature<TagPicker> 组件支持 tagProps,设置 Tag 属性。
  • Feature<Affix> 支持 container 属性,把元素只在容器可见范围内才固定。
  • Feature: 所有带搜索功能的 Picker 组件支持searchBy属性,可以自定义搜索规则。
  • Breaking: 修复 Uploader 属性 dragable 拼写错误,修改为 draggable
  • Improve: 改进所有的 Picker 组件,默认支持 size 属性,之前的版本中需要配 Button 组合使用。
  • Improve 改进 <Placeholder> 的动画效果。
  • Bugfix: 修复 <Table> 的 wordWrap 属性与 rowHeight不兼容的问题。
  • Bugfix: 修复 Typescript 一些定义错误。
  • Example: 新增示例项目 with-preact。
  • Chore: 迁移 rsuite-utils 库到 rsuite,方便维护。

8、最后 🤝

希望我们的成长,能给更多的开发者带来更好的体验。如果您喜欢 React Suite,可以通过以下方式支持我们:

  • Star 这个项目。
  • 如果您在您的项目中使用了 React Suite,欢迎在这里留言
  • 在 OpenCollective 上赞助我们。
原文链接:https://www.oschina.net/news/115151/rsuite-4-4-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章