Rate评分

评分组件。

何时使用

  • 对评价进行展示。
  • 对事物进行快速的评级操作。

代码演示

Rate评分 - 图1

基本

最简单的用法。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'nz-demo-rate-basic',
  4. template: `
  5. <nz-rate [ngModel]="0"></nz-rate>
  6. `
  7. })
  8. export class NzDemoRateBasicComponent {}

Rate评分 - 图2

文案展现

给评分组件加上文案展示。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'nz-demo-rate-text',
  4. template: `
  5. <nz-rate [(ngModel)]="value" [nzTooltips]="tooltips"></nz-rate>
  6. <span *ngIf="value" class="ant-rate-text">{{ value ? tooltips[value - 1] : '' }}</span>
  7. `
  8. })
  9. export class NzDemoRateTextComponent {
  10. tooltips = ['terrible', 'bad', 'normal', 'good', 'wonderful'];
  11. value = 3;
  12. }

Rate评分 - 图3

清除

支持允许或者禁用清除。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'nz-demo-rate-clear',
  4. template: `
  5. <nz-rate [(ngModel)]="value" nzAllowHalf></nz-rate>
  6. <span class="ant-rate-text">allowClear: true</span>
  7. <br />
  8. <nz-rate [(ngModel)]="value" nzAllowHalf [nzAllowClear]="false"></nz-rate>
  9. <span class="ant-rate-text">allowClear: false</span>
  10. `
  11. })
  12. export class NzDemoRateClearComponent {
  13. value = 0;
  14. }

Rate评分 - 图4

半星

支持选中半星。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'nz-demo-rate-half',
  4. template: `
  5. <nz-rate [ngModel]="2.5" nzAllowHalf></nz-rate>
  6. `
  7. })
  8. export class NzDemoRateHalfComponent {}

Rate评分 - 图5

只读

只读,无法进行鼠标交互。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'nz-demo-rate-disabled',
  4. template: `
  5. <nz-rate [ngModel]="2" nzDisabled></nz-rate>
  6. `,
  7. styles: []
  8. })
  9. export class NzDemoRateDisabledComponent {}

Rate评分 - 图6

其他字符

可以将星星替换为其他字符,比如字母,数字,字体图标甚至中文。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'nz-demo-rate-character',
  4. template: `
  5. <nz-rate [ngModel]="0" nzAllowHalf [nzCharacter]="characterIcon"></nz-rate>
  6. <br />
  7. <nz-rate [ngModel]="0" nzAllowHalf class="large" [nzCharacter]="characterEnLetter"></nz-rate>
  8. <br />
  9. <nz-rate [ngModel]="0" nzAllowHalf [nzCharacter]="characterZhLetter"></nz-rate>
  10. <ng-template #characterIcon><i nz-icon type="heart"></i></ng-template>
  11. <ng-template #characterZhLetter>好</ng-template>
  12. <ng-template #characterEnLetter>A</ng-template>
  13. `,
  14. styles: [
  15. `
  16. .large ::ng-deep .ant-rate-star {
  17. font-size: 36px;
  18. }
  19. `
  20. ]
  21. })
  22. export class NzDemoRateCharacterComponent {}

API

单独引入此组件

想要了解更多关于单独引入组件的内容,可以在快速上手页面进行查看。

  1. import { NzRateModule } from 'ng-zorro-antd';

nz-ratecomponent

属性说明类型默认值
[nzAllowClear]是否允许再次点击后清除booleantrue
[nzAllowHalf]是否允许半选booleanfalse
[nzAutoFocus]自动获取焦点booleanfalse
[nzCharacter]自定义字符TemplateRef<void><i nz-icon type="star"></i>
[nzCount]star 总数number5
[nzDisabled]只读,无法进行交互booleanfalse
[nzTooltips]自定义每项的提示信息string[][]
[ngModel]当前数,可以双向绑定number0
(ngModelChange)当前数改变时的回调EventEmitter<number>-
(nzOnBlur)失去焦点时的回调EventEmitter<FocusEvent>-
(nzOnFocus)获取焦点时的回调EventEmitter<FocusEvent>-
(nzOnHoverChange)鼠标经过时数值变化的回调EventEmitter<number>-
(nzOnKeyDown)按键回调EventEmitter<KeyboardEvent>-

方法

名称描述
blur()移除焦点
focus()获取焦点