iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react如何实现五星评价功能
  • 425
分享到

react如何实现五星评价功能

2023-07-04 22:07:53 425人浏览 薄情痞子
摘要

这篇文章主要介绍了React如何实现五星评价功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现五星评价功能文章都会有所收获,下面我们一起来看看吧。react实现五星评价的方法:1、设置五个元素

这篇文章主要介绍了React如何实现五星评价功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现五星评价功能文章都会有所收获,下面我们一起来看看吧。

react实现五星评价的方法:1、设置五个元素,根据评分给不同的样式,实现代码如“starNum:['star0','star0','star0','star0','star0']...”;2、设置两个元素,根据评分设置子元素的宽度来遮挡父元素的背景图,实现代码如“ let num=(Math.round(this.props.star)/2)...”。

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

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

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

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

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

三张背景图:star0.pngreact如何实现五星评价功能,star1.pngreact如何实现五星评价功能,star2.pngreact如何实现五星评价功能

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} />     页面显示为react如何实现五星评价功能

<Star star={7.3} />   页面显示为:react如何实现五星评价功能

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

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

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

背景图:

react如何实现五星评价功能

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} />     页面显示为react如何实现五星评价功能

<Star star={7.3} />   页面显示为:react如何实现五星评价功能

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

关于“react如何实现五星评价功能”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“react如何实现五星评价功能”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: react如何实现五星评价功能

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

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

  • 微信公众号

  • 商务合作