返回顶部
首页 > 资讯 > 前端开发 > 其他 >react怎么实现五星评价
  • 412
分享到

react怎么实现五星评价

React 2023-05-14 22:05:17 412人浏览 安东尼
摘要

本教程操作环境:windows10系统、React18.0.0版、Dell G3电脑。react怎么实现五星评价?封装react组件:显示五星评价两种简单的方式根据类似3.7和7.8这种评分显示五星评价封装成react组件,使用时直接引用即

react怎么实现五星评价

教程操作环境:windows10系统、React18.0.0版、Dell G3电脑。

react怎么实现五星评价?

封装react组件:显示五星评价

两种简单的方式根据类似3.7和7.8这种评分显示五星评价

封装成react组件,使用时直接引用即可

第一种思想:设置五个元素,根据评分给不同的样式;第二种思想:设置两个元素,父元素给没颜色的五角星,子元素给有颜色的五角星,根据评分设置子元素的宽度来遮挡父元素的背景图

方法一:根据不同的评分设置不同的CSS样式

三张背景图:star0.png,star1.png,star2.png

1)css代码:样式可以按照自己的需求修改

.star{
    display: inline-block;
}.star>span{
    display: inline-block;
    width: 10px;
    height: 10px;
    background-size: 10px 10px;
}.star0{
    background-image: url(img/star0.png);
}.star1{
    background-image: url(img/star1.png);
}.star2{
    background-image: url(img/star2.png);
}

2)组件js代码:

import React,{Component} from 'react'class Star extends Component{
    constructor(props){
        super(props);        this.state={
            starNum:['star0','star0','star0','star0','star0'] //设置默认背景图        }
    }
    componentDidMount(){        this.getStar(Math.round(this.props.star)/2+1); //将传过来的类似7.3数字进行四舍五入再除2,得到的是类似2,3.5,6这种值    }
    getStar(num){
        let newStar = this.state.starNum.map((item)=>{ //当num=3.5时遍历后newStar数组变成['star2','star2','star2','star1','star0','star0']
            --num;            return num>=1?'star2':((num>0)?'star1':'star0'); //两次三目运算        })        this.setState({
            starNum:newStar  //设置state为遍历后的新数组        })
    }
    render(){        return (<span className="star">
            {                this.state.starNum.map((item, index)=>{                    return <span className={item} key={index}></span>                })
            }        </span>)    }
}
export default Star;

3)在其他组件中调用Star组件并传参:

<Star star={4} /> 页面显示为

<Star star={7.3} /> 页面显示为:

这种方法需要少量的计算。

方法二:利用子元素的宽度将父元素进行遮挡

父元素背景图为无色五角星,子元素背景图为有色五角星

背景图:

css代码:

.newstar ul{
    background-image: url(component/img/ico.png);
}.newstar ul li{
    height: 60px;
    background: url(component/img/ico.png) left -62px;
}

组件js代码:

import React,{Component} from 'react'class Star extends Component{
    render(){
        let num=(Math.round(this.props.star)/2)*20+'%'; //根据评分计算子元素的宽度
        return (<div className="newstar">
            <ul>
                <li style={{width:num}}></li>
            </ul>
        </div>)    }
}
export default Star;

3)调用并传参

<Star star={4} /> 页面显示为

<Star star={7.3} /> 页面显示为:

这种方式需要父和子元素的背景图大小完全一样,并且要精确计算五角星个数对应的子元素宽度

以上就是react怎么实现五星评价的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: react怎么实现五星评价

本文链接: https://lsjlt.com/news/206483.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • react怎么实现五星评价
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react怎么实现五星评价封装react组件:显示五星评价两种简单的方式根据类似3.7和7.8这种评分显示五星评价封装成react组件,使用时直接引用即可...
    99+
    2023-05-14
    React
  • react如何实现五星评价功能
    这篇文章主要介绍了react如何实现五星评价功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现五星评价功能文章都会有所收获,下面我们一起来看看吧。react实现五星评价的方法:1、设置五个元素...
    99+
    2023-07-04
  • 微信小程序实现五星评价
    本文实例为大家分享了微信小程序实现五星评价的具体代码,供大家参考,具体内容如下 首先准备两张图片,在阿里巴巴矢量图标库中随便下两个颜色不一样的星星 效果如下 wxml 循环五次图...
    99+
    2024-04-02
  • JS+cookie实现购物评价五星好评功能
    本文实例为大家分享了JS+cookie实现购物评价五星好评功能的具体代码,供大家参考,具体内容如下 案例实现的是购物评价中五星点评功能. 通过JS面向对象方法实现 利用cookie实...
    99+
    2024-04-02
  • 如何使用js实现五星评价功能
    这篇文章主要介绍如何使用js实现五星评价功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图:代码如下:<!DOCTYPE html> <html&n...
    99+
    2024-04-02
  • 微信小程序实现五星评价功能
    本文实例为大家分享了微信小程序实现五星评价的具体代码,供大家参考,具体内容如下 需求如图: 1个星-很不满意; 2个星-不满意; 3个星-一般; 4个星-还不错; 5个星-很满意...
    99+
    2024-04-02
  • React星星评分组件的实现
    实现的需求为传入对商品的评分数据,页面显示对应的星星个数。 1. 准备三张对应不同评分的星星图片 2. 期望实现的效果 这样的 调用 <StarScore sco...
    99+
    2024-04-02
  • 微信小程序如何实现五星评价功能
    小编给大家分享一下微信小程序如何实现五星评价功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序 五星评价功能效果图:要...
    99+
    2024-04-02
  • JS实现五星好评效果
    用JS实现面向对象方法实现京东的五星好评效果。 鼠标滑过时的显示: 当评价完成后,关闭浏览器重新打开页面,还是上次的评价结果。用cookie实现。 具体实现如下: impor...
    99+
    2024-04-02
  • JS实现五星好评案例
    本文实例为大家分享了JS实现五星好评案例的具体代码,供大家参考,具体内容如下 业务逻辑是我需要先创建出所有我需要用到的标签和样式再写出我们星星对应的行为,分数对应行为,笑脸对应行为,...
    99+
    2024-04-02
  • JS实现服务五星好评
    本文实例为大家分享了JS实现服务五星好评的具体代码,供大家参考,具体内容如下 html部分 <!DOCTYPE html> <html lang="en">...
    99+
    2024-04-02
  • 原生Javascript实现五角星评分
    利用原生Javascript实现五角星评分,可以打半分.话不多说先上代码。 html部分 <div class="setStarRate"> <di...
    99+
    2024-04-02
  • css+html+js实现五角星评分
    本文实例为大家分享了css+html+js实现五角星评分的具体代码,供大家参考,具体内容如下 效果图: css: <style>         .evaluation...
    99+
    2024-04-02
  • Vue实现星级评价效果
    本文实例为大家分享了Vue实现星级评价效果的具体代码,供大家参考,具体内容如下 1、本文五角星采用的阿里巴巴矢量图标库;2、数据内容可根据实际需求进行改动;3、主要实现了鼠标滑动改变...
    99+
    2024-04-02
  • 微信小程序五星评分效果怎么实现
    这篇文章主要介绍微信小程序五星评分效果怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序五星评分效果实现代码很多做过电商项目的朋友会经常用到评分的功能,我这里正好写了一...
    99+
    2024-04-02
  • 微信小程序怎么实现五星评分功能
    这篇文章主要介绍了微信小程序怎么实现五星评分功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。五星级评分效果:<view> &n...
    99+
    2024-04-02
  • Vue如何实现星级评价效果
    小编给大家分享一下Vue如何实现星级评价效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下本文五角星采用的阿里巴巴矢量图标库;2、数据内容可根据实际需...
    99+
    2023-06-29
  • JS与JQuery分别实现淘宝五星好评特效
    本文实例为大家分享了JS与JQuery实现淘宝五星好评特效的具体代码,供大家参考,具体内容如下 我们经常用的五星好评是如何来的,主要就是三个Event 中的三个事件分别: onmou...
    99+
    2024-04-02
  • 怎么在css中实现一个评分星星效果
    本篇文章为大家展示了怎么在css中实现一个评分星星效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。结构如下:很简单的结构,主要核心代码如下:<div class="gra...
    99+
    2023-06-08
  • Android中怎么实现星级评分条
    今天就跟大家聊聊有关Android中怎么实现星级评分条,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。getRating()方法:获取等级,表示你当前选中了几颗星星2、getStepS...
    99+
    2023-05-30
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作