微信小程序实现星级评分与展示

 更新时间:2022年05月23日 10:04:40   作者:J1FengZ  
这篇文章主要为大家详细介绍了微信小程序实现星级评分与展示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序实现星级评分与展示的具体代码,供大家参考,具体内容如下

一、效果展示

星级评分

星级评分展示

二、代码实现

星级评分部分:

<!-- wxml -->
<view class="starGrade">
    <text class="starGradeTxt">评价</text>
    <view class='scoreBox'>
        <view wx:for="{{starImgs}}" wx:key="id" bindtap='select' data-index="{{item.id}}">
            <image class="star" src="{{item.id > starId ? star_empty : star_full}}"></image>
        </view>
        <view class='scoreLevel'>{{starImgs[starId - 1].level}}</view>
    </view>
</view>
// js
Page({
    data:{
        starImgs: [
            {
                id: 1,
                level : '非常不推荐',
            }, 
            {
                id: 2,
                level : '不推荐',
            }, 
            {
                id: 3,
                level : '一般',
            }, 
            {
                id: 4,
                level : '推荐',
            }, 
            {
                id: 5,
                level : '非常推荐',
            }
        ],
        starId: 5,
        star_full: '/icons/score_full_big.png',//星星图标 满星
        star_empty: '/icons/score_empty_big.png',//星星图标 空星
    },
    
    /**
     * 星级评分点击事件
     */
    select(e) {
        this.data.starId = e.currentTarget.dataset.index;
        this.setData({
            starId : this.data.starId,
        })
    },
})

星级评分展示

<!-- wxml -->
<wxs module="filters" src="../../tools/filter.wxs"></wxs>
<!-- 星级评分展示 -->
<view class="container">
    <text class="score">{{filters.toFix(Info.grade)}}</text>
    <view 
        class="stars" 
        wx:for="{{[1, 2, 3, 4, 5]}}" 
        wx:key="{{index}}" 
        wx:for-item="i">
        <view class="star-full" wx:if="{{Info.grade >= index + 1}}">
            <image class="image-star" src="../../icons/score_full.png" />
        </view>
        <view class="star-empty" wx:else>
            <image class="image-star" src="../../icons/score_empty.png" />
        </view>
    </view>
</view>
// filter.wxs
var filters = {
    toFix: function (value) {       
        var valueNum = parseFloat(value);
        return valueNum.toFixed(1)
        // 保留一位小数
    }
}
 
module.exports = {
    toFix: filters.toFix,
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaScript第七种数据类型Symbol的用法详解

    JavaScript第七种数据类型Symbol的用法详解

    Symbol是ES6中引入的一种新的基本数据类型,用于表示一个独一无二的值。它是JavaScript中的第七种数据类型。本文将详细讲讲Symbol的使用,需要的可以参考一下
    2022-09-09
  • JS项目中对本地存储进行二次的封装的实现

    JS项目中对本地存储进行二次的封装的实现

    这篇文章主要介绍了JS项目中对本地存储进行二次的封装,这里我们将要使用到的key存储下来,新建一个叫constant-storage.js的文件,对外暴露一些key的键名,也方便后期统一修改,这里因为都是恒量,所以名称我们都用大写表示,需要的朋友可以参考下
    2022-07-07
  • ts中的void和never类型及区别

    ts中的void和never类型及区别

    void类型和never类型都是ts新增的类型,这两者的共同点是都常见用于声明函数的返回值的类型,这里我们把它们两放在一起介绍有助于大家区分,这篇文章主要介绍了ts中的void和never类型及区别,需要的朋友可以参考下
    2023-05-05
  • JavaScript实现彩虹文字效果的方法

    JavaScript实现彩虹文字效果的方法

    这篇文章主要介绍了JavaScript实现彩虹文字效果的方法,涉及javascript操作文字样式的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • IE中图片的onload事件无效问题和解决方法

    IE中图片的onload事件无效问题和解决方法

    这篇文章主要介绍了IE中图片的onload事件无效问题和解决方法,这是一个很经典的问题,其实只需要调换一下代码顺序即可解决,需要的朋友可以参考下
    2014-06-06
  • js 动态加载事件的几种方法总结

    js 动态加载事件的几种方法总结

    本篇文章主要是对js 动态加载事件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 原生js实现日历效果

    原生js实现日历效果

    这篇文章主要为大家详细介绍了原生js实现日历效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • JS数组按指定字段转map-list结构(示例详解)

    JS数组按指定字段转map-list结构(示例详解)

    在开发过程中经常会出现接口返回整个数组,我们需要将数组进行二次处理,这篇文章主要介绍了js 数组按指定字段转map-list结构,需要的朋友可以参考下
    2023-11-11
  • js显示世界时间示例(包括世界各大城市)

    js显示世界时间示例(包括世界各大城市)

    这篇文章主要介绍了js显示世界时间的方法,可现实世界各大城市的当前时间,涉及JavaScript针对时间的获取与运算操作技巧,需要的朋友可以参考下
    2016-04-04
  • 基于jstree使用AJAX请求获取数据形成树

    基于jstree使用AJAX请求获取数据形成树

    这篇文章主要为大家详细介绍了基于jstree使用AJAX请求获取数据形成树,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论