评分

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

如何使用

非内置模块,需要额外在 json-schema 注册 withRateWidget

代码演示

基础样例

最简单的用法。

expand code expand code
import { Component, inject } from '@angular/core';

import { YelonFormModule, SFSchema } from '@yelon/form';
import type { SFRateWidgetSchema } from '@yelon/form/widgets/rate';
import { NzMessageService } from 'ng-zorro-antd/message';

@Component({
  selector: 'form-rate-simple',
  template: ` <sf [schema]="schema" (formSubmit)="submit($event)" /> `,
  standalone: true,
  imports: [YelonFormModule]
})
export class FormRateSimpleComponent {
  private readonly msg = inject(NzMessageService);
  schema: SFSchema = {
    properties: {
      rate: {
        type: 'number',
        title: '评级',
        default: 4.5,
        ui: {
          widget: 'rate'
        } as SFRateWidgetSchema
      },
      // 允许半选
      rate2: {
        type: 'number',
        title: '评级',
        maximum: 5,
        multipleOf: 0.5,
        default: 4.5,
        ui: {
          widget: 'rate',
          text: '{{value}} starts'
        } as SFRateWidgetSchema
      }
    }
  };

  submit(value: {}): void {
    this.msg.success(JSON.stringify(value));
  }
}

API

schema属性

成员说明类型默认值
[maximum]总星数number5
[multipleOf]0.5 表示允许半选,其它值表示不允许number0.5

ui属性

成员说明类型默认值
[allowClear]是否允许再次点击后清除booleantrue
[autoFocus]自动获取焦点booleanfalse
[text]提醒文本模板,{{value}} 表示当前值(注意无任何空格)string-
[tooltips]自定义每项的提示信息string[][]
Loading...