- 使用
- 基础参数
- 分数设置
- 回调

- 自定义文本的回调
- 点击产生的回调

-

#  评分组件文档 - layui.rate

> rate 评分组件在电商和 O2O 平台尤为常见，一般用于对商家进行服务满意度评价。外形依然小巧自然，功能依旧灵活实用。其中评分对应的自定义内容功能，可让它有更多的发挥空间。该组件为 2.3.0 版本新增

> 模块加载名称：rate

使用

rate 组件可以用来进行展示或评价，你只需要通过更改参数设定来开启你想要的功能，如下是一个最基本的例子：

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>评分组件</title>
      <link rel="stylesheet" href="../src/css/layui.css">
    </head>
    <body>
      <div id="test1"></div>
      <script src="../src/layui.js"></script>
      <script>
      layui.use('rate', function(){
        var rate = layui.rate;

        //渲染
        var ins1 = rate.render({
          elem: '#test1'  //绑定元素
        });
      });
      </script>
    </body>
    </html>

这真的就是个小例子，所以下文对组件的参数进行了说明，请仔细阅读奥

基础参数

目前 rate 组件提供了以下基础参数，你可根据实际场景进行相应的设置

参数选项 | 说明 | 类型 | 默认值
--- | --- | --- | ---
elem | 指向容器选择器 | string/object | -
length | 评分组件中具体星星的个数。个数当然是整数啦，残缺的星星很可怜的，所以设置了小数点的组件我们会默认向下取整 | number | 5
value | 评分的初始值 | number | 0
theme | 主题颜色。我们默认的组件颜色是#FFB800，你可以根据自身喜好来更改组件的颜色，以适用不同场景 | string | #FFB800
half | 设定组件是否可以选择半星 | boolean | false
text | 是否显示评分对应的内容 | boolean | false
readonly | 是否只读，即只用于展示而不可点 | boolean | false

分数设置

如若你设置分数，我们会根据你是否开启半星功能，来做一个具体的规范：

#### 关闭半星功能:

- 小数值大于 0.5 ：分数向上取整，如 3.6 分，则系统自动更改为 4 分
- 小数值小于等于 0.5 ：分数向下取整，如 3.2 分，则系统自动更改为 3 分
- 如果在关闭半星功能的情况下开启了文本，你会发现你的分数也相应的变成了整数

#### 开启半星功能:

- 不论你的小数值是 0.1 还是 0.9，都统一规划为 0.5，在文本开启的情况下，你可以看见你的分数并没有发生变化

自定义文本的回调

通过 setText 函数，在组件初次渲染和点击后时产生回调。我们默认文本以星级显示，你可以根据自己设定的文字来替换我们的默认文本，如 “讨厌” “喜欢” 。若用户选择分数而没有设定对应文字的情况下，系统会使用我们的默认文本

    rate.render({
      elem: '#test1'
      ,setText: function(value){
        var arrs = {
          '1': '极差'
          ,'2': '差'
          ,'3': '中等'
          ,'4': '好'
        };
        this.span.text(arrs[value] || ( value + "星"));
      }
    });

当你点击 3 星时，文本内容是中等，点击 5 星时，由于没有设定对应文字，所以文本会显示 5 星

点击产生的回调

通过 choose 实现函数，在组件被点击后触发，回调分数，用户可根据分数来设置效果，比如出现弹出层

    rate.render({
      elem: '#test1'
      ,choose: function(value){
        if(value > 4) alert( '么么哒' )
      }
    });

那么当你点击 5 星或更高星级时，页面就会弹出“么么哒”啦，你可根据相应需求在 choose 里完善你的代码

结语

评分组件非常简单，重点在于参数选项的设置，你可以前往示例页面进行更为直观的了解。

layui - 在每一个细节中，用心与你沟通