当前位置:首页 > VUE

vue实现点击星星评分

2026-02-22 22:45:14VUE

vue实现点击星星评分

实现思路

通过Vue的数据绑定和事件处理机制,动态渲染星星图标并处理用户点击事件。使用v-for循环生成星星,根据当前评分高亮对应数量的星星。

代码实现

<template>
  <div class="star-rating">
    <span 
      v-for="star in maxStars" 
      :key="star"
      @click="rate(star)"
      :class="{ 'active': star <= currentStars }"
    >
      ★
    </span>
    <p>当前评分: {{ currentStars }} / {{ maxStars }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      maxStars: 5,
      currentStars: 0
    }
  },
  methods: {
    rate(star) {
      this.currentStars = star
    }
  }
}
</script>

<style>
.star-rating span {
  font-size: 30px;
  color: #ccc;
  cursor: pointer;
}

.star-rating span.active {
  color: gold;
}
</style>

功能扩展

  1. 添加半星评分功能
    data() {
    return {
     maxStars: 5,
     currentStars: 0,
     tempStars: 0
    }
    },
    methods: {
    rate(star) {
     this.currentStars = star
    },
    setTemp(star) {
     this.tempStars = star
    },
    resetTemp() {
     this.tempStars = this.currentStars
    }
    }
<span 
  v-for="star in maxStars" 
  :key="star"
  @click="rate(star)"
  @mouseover="setTemp(star)"
  @mouseout="resetTemp"
  :class="{ 
    'active': star <= currentStars,
    'temp-active': star <= tempStars 
  }"
>
  ★
</span>
  1. 添加只读模式
    <span 
    v-for="star in maxStars" 
    :key="star"
    :class="{ 'active': star <= currentStars }"
    v-if="readonly"
    >
    ★
    </span>

使用组件

<star-rating v-model="ratingValue" :max-stars="10" readonly></star-rating>

注意事项

  • 确保为星星元素添加合适的cursor样式以提示可点击
  • 考虑添加过渡动画效果提升用户体验
  • 对于移动端需要添加touch事件支持
  • 可以通过props接收初始评分值

vue实现点击星星评分

标签: 评分星星
分享给朋友:

相关文章

vue实现评分

vue实现评分

实现评分功能的基本方法 使用Vue实现评分功能可以通过多种方式完成,常见的方法包括基于组件、自定义指令或第三方库。以下是几种典型实现方案。 基于组件的评分实现 创建一个可复用的评分组件,利用v-f…

vue实现评分案例

vue实现评分案例

实现评分组件的基本结构 在Vue中创建一个评分组件,可以使用v-for循环生成星星图标,并通过v-model或自定义事件实现双向绑定。以下是一个基于Font Awesome图标的实现示例: <…

vue实现星星评价

vue实现星星评价

实现星星评价组件 在Vue中实现星星评价功能,可以通过自定义组件完成。以下是一个完整的实现方案: 创建星星评价组件 新建一个StarRating.vue文件,包含以下代码: <templ…

vue实现星级评分效果

vue实现星级评分效果

实现星级评分的基础结构 使用Vue实现星级评分需要构建一个可交互的星级组件。基本思路是通过v-for循环生成星星图标,并通过动态绑定类名或样式来控制选中状态。 <template>…

vue实现星星评分原理

vue实现星星评分原理

实现星星评分的基本原理 星星评分通常通过显示一组星星图标,允许用户点击或悬停来选择评分值。Vue 的响应式特性使得实现这一功能变得简单,核心逻辑包括数据绑定、事件处理和动态样式控制。 数据绑定与渲染…

vue点击实现星星评价

vue点击实现星星评价

实现星星评价功能 在Vue中实现星星评价功能可以通过动态渲染星星图标并绑定点击事件来完成。以下是具体实现方法: 数据准备 定义评价等级和当前选中状态的数据: data() { return…