• Rate 评分
    • 基础用法
    • 辅助文字
    • 其它 icon
    • 只读
    • Attributes
    • Events

    Rate 评分

    评分组件

    基础用法

    Rate 评分 - 图1

    评分默认被分为三个等级,可以利用颜色数组对分数及情感倾向进行分级(默认情况下不区分颜色)。三个等级所对应的颜色用colors属性设置,而它们对应的两个阈值则通过 low-thresholdhigh-threshold 设定。你也可以通过传入颜色对象来自定义分段,键名为分段的界限值,键值为对应的颜色。

    1. <div class="block">
    2. <span class="demonstration">默认不区分颜色</span>
    3. <el-rate v-model="value1"></el-rate>
    4. </div>
    5. <div class="block">
    6. <span class="demonstration">区分颜色</span>
    7. <el-rate
    8. v-model="value2"
    9. :colors="colors">
    10. </el-rate>
    11. </div>
    12. <script>
    13. export default {
    14. data() {
    15. return {
    16. value1: null,
    17. value2: null,
    18. colors: ['#99A9BF', '#F7BA2A', '#FF9900'] // 等同于 { 2: '#99A9BF', 4: { value: '#F7BA2A', excluded: true }, 5: '#FF9900' }
    19. }
    20. }
    21. }
    22. </script>

    辅助文字

    用辅助文字直接地表达对应分数

    Rate 评分 - 图2

    为组件设置 show-text 属性会在右侧显示辅助文字。通过设置 texts 可以为每一个分值指定对应的辅助文字。texts 为一个数组,长度应等于最大值 max

    <el-rate
      v-model="value"
      show-text>
    </el-rate>
    
    <script>
      export default {
        data() {
          return {
            value: null
          }
        }
      }
    </script>
    

    其它 icon

    当有多层评价时,可以用不同类型的 icon 区分评分层级

    Rate 评分 - 图3

    设置icon-classes属性可以自定义不同分段的图标。若传入数组,共有 3 个元素,为 3 个分段所对应的类名;若传入对象,可自定义分段,键名为分段的界限值,键值为对应的类名。本例还使用void-icon-class指定了未选中时的图标类名。

    <el-rate
      v-model="value"
      :icon-classes="iconClasses"
      void-icon-class="icon-rate-face-off"
      :colors="['#99A9BF', '#F7BA2A', '#FF9900']">
    </el-rate>
    
    <script>
      export default {
        data() {
          return {
            value: null,
            iconClasses: ['icon-rate-face-1', 'icon-rate-face-2', 'icon-rate-face-3'] // 等同于 { 2: 'icon-rate-face-1', 4: { value: 'icon-rate-face-2', excluded: true }, 5: 'icon-rate-face-3' }
          }
        }
      }
    </script>
    

    只读

    只读的评分用来展示分数,允许出现半星

    Rate 评分 - 图4

    为组件设置 disabled 属性表示组件为只读,支持小数分值。此时若设置 show-score,则会在右侧显示目前的分值。可以提供 score-template 作为显示模板,模板为一个包含了 {value} 的字符串,{value} 会被解析为分值。

    <el-rate
      v-model="value"
      disabled
      show-score
      text-color="#ff9900"
      score-template="{value}">
    </el-rate>
    
    <script>
      export default {
        data() {
          return {
            value: 3.7
          }
        }
      }
    </script>
    

    Attributes

    参数说明类型可选值默认值
    value / v-model绑定值number0
    max最大分值number5
    disabled是否为只读booleanfalse
    allow-half是否允许半选booleanfalse
    low-threshold低分和中等分数的界限值,值本身被划分在低分中number2
    high-threshold高分和中等分数的界限值,值本身被划分在高分中number4
    colorsicon 的颜色。若传入数组,共有 3 个元素,为 3 个分段所对应的颜色;若传入对象,可自定义分段,键名为分段的界限值,键值为对应的颜色array/object['#F7BA2A', '#F7BA2A', '#F7BA2A']
    void-color未选中 icon 的颜色string#C6D1DE
    disabled-void-color只读时未选中 icon 的颜色string#EFF2F7
    icon-classesicon 的类名。若传入数组,共有 3 个元素,为 3 个分段所对应的类名;若传入对象,可自定义分段,键名为分段的界限值,键值为对应的类名array/object['el-icon-star-on', 'el-icon-star-on','el-icon-star-on']
    void-icon-class未选中 icon 的类名stringel-icon-star-off
    disabled-void-icon-class只读时未选中 icon 的类名stringel-icon-star-on
    show-text是否显示辅助文字,若为真,则会从 texts 数组中选取当前分数对应的文字内容booleanfalse
    show-score是否显示当前分数,show-score 和 show-text 不能同时为真booleanfalse
    text-color辅助文字的颜色string#1F2D3D
    texts辅助文字数组array['极差', '失望', '一般', '满意', '惊喜']
    score-template分数显示模板string{value}

    Events

    事件名称说明回调参数
    change分值改变时触发改变后的分值