Rate评分
评分组件。
何时使用
对评价进行展示。
对事物进行快速的评级操作。
代码演示

最简单的用法。
import { Rate } from 'antd';ReactDOM.render(<Rate />, mountNode);

给评分组件加上文案展示。
import { Rate } from 'antd';const desc = ['terrible', 'bad', 'normal', 'good', 'wonderful'];class Rater extends React.Component {state = {value: 3,};handleChange = value => {this.setState({ value });};render() {const { value } = this.state;return (<span><Rate tooltips={desc} onChange={this.handleChange} value={value} />{value ? <span className="ant-rate-text">{desc[value - 1]}</span> : ''}</span>);}}ReactDOM.render(<Rater />, mountNode);

支持允许或者禁用清除。
import { Rate } from 'antd';ReactDOM.render(<><Rate defaultValue={3} /><span className="ant-rate-text">allowClear: true</span><br /><Rate allowClear={false} defaultValue={3} /><span className="ant-rate-text">allowClear: false</span></>,mountNode,);

可以使用 (RateProps) => ReactNode 的方式自定义每一个字符。
import { Rate } from 'antd';import { FrownOutlined, MehOutlined, SmileOutlined } from '@ant-design/icons';const customIcons = {1: <FrownOutlined />,2: <FrownOutlined />,3: <MehOutlined />,4: <SmileOutlined />,5: <SmileOutlined />,};ReactDOM.render(<><Rate defaultValue={2} character={({ index }) => index + 1} /><br /><Rate defaultValue={3} character={({ index }) => customIcons[index + 1]} /></>,mountNode,);

支持选中半星。
import { Rate } from 'antd';ReactDOM.render(<Rate allowHalf defaultValue={2.5} />, mountNode);

只读,无法进行鼠标交互。
import { Rate } from 'antd';ReactDOM.render(<Rate disabled defaultValue={2} />, mountNode);

可以将星星替换为其他字符,比如字母,数字,字体图标甚至中文。
import { Rate } from 'antd';import { HeartOutlined } from '@ant-design/icons';ReactDOM.render(<><Rate character={<HeartOutlined />} allowHalf /><br /><Rate character="A" allowHalf style={{ fontSize: 36 }} /><br /><Rate character="好" allowHalf /></>,mountNode,);
API
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| allowClear | 是否允许再次点击后清除 | boolean | true | |
| allowHalf | 是否允许半选 | boolean | false | |
| autoFocus | 自动获取焦点 | boolean | false | |
| character | 自定义字符 | ReactNode | (RateProps) => ReactNode | <StarFilled /> | function(): 4.4.0 |
| className | 自定义样式类名 | string | - | |
| count | star 总数 | number | 5 | |
| defaultValue | 默认值 | number | 0 | |
| disabled | 只读,无法进行交互 | boolean | false | |
| style | 自定义样式对象 | CSSProperties | - | |
| tooltips | 自定义每项的提示信息 | string[] | - | |
| value | 当前数,受控值 | number | - | |
| onBlur | 失去焦点时的回调 | function() | - | |
| onChange | 选择时的回调 | function(value: number) | - | |
| onFocus | 获取焦点时的回调 | function() | - | |
| onHoverChange | 鼠标经过时数值变化的回调 | function(value: number) | - | |
| onKeyDown | 按键回调 | function(event) | - |
方法
| 名称 | 描述 |
|---|---|
| blur() | 移除焦点 |
| focus() | 获取焦点 |
当前内容版权归 Ant Design 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Ant Design .