zoukankan      html  css  js  c++  java
  • vue 评分组件

    <template>
      <div class="Rating-gray">
        <i v-for="(item,index) in itemClasses" :key="index" class="fa" :class="item"></i>
      </div>
    </template>
    
    <script>
    // 星星长度
    const LENGTH = 5;
    // 星星对应的class
    const CLS_ON = "fa-star";
    const CLS_HALF = "fa-star-half-empty";
    const CLS_OFF = "fa-star-o";
    
    export default {
      name: "Rating",
      props: {
        rating: Number
      },
      computed: {
        itemClasses() {
          // 4.8 四个全星 1个半星
          let result = [];
    
          // 对分数进行处理, 向下取0.5的倍数
          let score = Math.floor(this.rating * 2) / 2;
          // 控制半星
          let hasDecimal = score % 1 !== 0;
          // 全星
          let integer = Math.floor(score);
    
          // 全星放入到数组中
          for (let i = 0; i < integer; i++) {
            result.push(CLS_ON);
          }
    
          // 半星
          if (hasDecimal) {
            result.push(CLS_HALF);
          }
    
          // 补齐
          while (result.length < LENGTH) {
            result.push(CLS_OFF);
          }
    
          return result;
        }
      }
    };
    </script>
    <style scoped>
    .Rating-gray {
      margin-right: 1.066667vw;
      color: #ffbe00;
      display: inline-block;
    }
    </style>
    
    
    <link
    href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
    rel="stylesheet"
    />
    
    
  • 相关阅读:
    编码的使用,编码与解码
    小数据池,is和==的区别,id()
    python的内置函数
    python基本数据类型
    组合模式学习
    访问者模式
    C++ primer Plus回顾
    命令模式学习
    策略模式学习(设计模式)
    python_xlrd模块学习
  • 原文地址:https://www.cnblogs.com/xzhce/p/13565831.html
Copyright © 2011-2022 走看看