UNPKG

@td-design/react-native-rating

Version:

基于 @td-design/react-native 的 rating 组件

136 lines (113 loc) 4.3 kB
--- title: Rating - 评分组件 nav: title: RN组件 path: /react-native group: title: 评分组件 path: /ratings --- # Rating 评分组件 使用本组件需要单独安装:**yarn add @td-design/react-native-rating** ## 效果演示 ### 1. 点击评分 ```tsx | pure <TapRating count={5} selectedColor="red" /> ``` <center> <figure> <img alt="rating-ios1.gif" src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1608031082750770825.gif" style="width: 375px; margin-right: 10px; border: 1px solid #ddd;" /> </figure> </center> ### 2. 不显示评分对应的文字 ```tsx | pure <TapRating count={5} showReview={false} /> ``` <center> <figure> <img alt="rating-ios2.gif" src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1608031167591520069.gif" style="width: 375px; margin-right: 10px; border: 1px solid #ddd;" /> </figure> </center> ### 3. 滑动评分向上取整 ```tsx | pure const [rating, setRating] = useState(0); <Text>您选择的分数是:{rating}</Text> <SwipeRating count={5} fractions={0} defaultRating={0} onFinishRating={position => { setRating(position); }} /> ``` <center> <figure> <img alt="rating-ios3.gif" src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1608031383343799559.gif" style="width: 375px; margin-right: 10px; border: 1px solid #ddd;" /> </figure> </center> ### 4. 滑动评分保留小数 ```tsx | pure const [rating, setRating] = useState(2.5); <Text>您选择的分数是:{rating}</Text> <SwipeRating count={5} defaultRating={2.5} fractions={2} onFinishRating={position => { setRating(position); }} /> ``` <center> <figure> <img alt="rating-ios4.gif" src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1608031551235116500.gif" style="width: 375px; margin-right: 10px; border: 1px solid #ddd;" /> </figure> </center> ## API ### TapRating | 属性 | 必填 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | --- | | defaultRating | `false` | 默认分数 | `number` | | | count | `false` | 评分总数 | `number` | `5` | | showReview | `false` | 是否显示文字 | `boolean` | `true` | | reviewSize | `false` | 文字大小 | `number` | `25` | | reviewColor | `false` | 文字颜色 | `string` | | | reviews | `false` | 文字数组 | `string[]` | `['非常差', '很差', '一般', '很好', '非常好']` | | size | `false` | 评分大小 | `number` | `40` | | disabled | `false` | 是否禁用 | `boolean` | `false` | | starStyle | `false` | 评分样式 | `ImageStyle` | | | selectedColor | `false` | 评分选中颜色 | `string` | `gold` | | unselectedColor | `false` | 评分未选中颜色 | `string` | `gray` | | outRangeScale | `false` | 评分点击时缩放大小 | `number` | | | onFinishRating | `false` | 评分结束时的回调事件 | `(rating: number) => void` | `1.2` | | activeOpacity | `false` | 按下时的不透明度 | `number` | `0.6` | ### SwipeRating | 属性 | 必填 | 说明 | 类型 | 默认值 | | --------------- | ------- | ------------------------- | -------------------------- | ------ | | ratingBgColor | `false` | 评分底色 | `string` | | | ratingFillColor | `false` | 评分填充色 | `string` | | | count | `false` | 评分总数 | `number` | `5` | | strokeColor | `false` | 评分边框色 | `string` | | | size | `false` | 评分大小 | `number` | `40` | | disabled | `false` | 是否禁用 | `boolean` | | | defaultRating | `false` | 默认选中评分 | `number` | `2.5` | | minValue | `false` | 评分最小值 | `number` | `0` | | fractions | `false` | 小数位数。传 0 时向上取整 | `number` | `2` | | onFinishRating | `false` | 评分结束时的回调事件 | `(rating: number) => void` | |