美文网首页vue专题
Vue版本评分组件

Vue版本评分组件

作者: cs0710 | 来源:发表于2019-07-22 14:06 被阅读0次

    实现思路:使用实心星以绝对定位的方式覆盖在空心星的上面,利用.high-light的em动态宽度,配合使用overflow:hidden样式即可。


    <template>
      <div class="rate primary-color">
        <div class="no-high-light">☆☆☆☆☆</div>
        <div class="high-light" :style="{width: highLightWidth}">★★★★★</div>
      </div>
    </template>
    
    <script>
      export default {
        props: {
          value: {
            type: [Number, String],
            default: 0,
          },
        },
        computed: {
          highLightWidth () {
            return `${(this.value / 2).toFixed(1)}em`;
          }
        },
      }
    </script>
    
    <style lang="less" scoped>
    .rate {
      position: relative;
      .high-light {
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        overflow: hidden;
      }
    }
    </style>
    

    相关文章

      网友评论

        本文标题:Vue版本评分组件

        本文链接:https://www.haomeiwen.com/subject/ogtwlctx.html