index.wxml
<view class="star-rating"> <block wx:for="{{stars}}" wx:key="index"> <view class="star {{index < activeStars ? 'active' : ''}}" bindtap="setRating" data-index="{{index}}"> ★ </view> </block> </view>
index.wxss
.star-rating { display: flex; } .star { font-size: 40rpx; color: #ccc; /* 默认灰色 */ margin-right: 10rpx; } .star.active { color: #ffd700; /* 点亮后的颜色 */ }
index.js
// Page({ // data: { // stars: [0, 1, 2, 3, 4, 5], // 6颗星星 // activeStars: 3, // 默认点亮3颗星星,可以根据成绩数动态设置 // }, // // 设置评分 // setRating: function (e) { // const index = e.currentTarget.dataset.index; // this.setData({ // activeStars: index + 1, // }); // }, // }); //如果你需要根据成绩数动态设置点亮的星星数量,可以在 onLoad 或其他生命周期函数中更新 activeStars 的值: Page({ data: { stars: [0, 1, 2, 3, 4, 5], activeStars: 0, // 初始化为0 }, onLoad: function (options) { const score = 4; // 假设成绩为4 this.setData({ activeStars: score, }); }, });