vue实现带小数点的星星评分

本文实例为大家分享了vue实现带小数点的星星评分的具体代码,供大家参考,具体内容如下

首先我们要先引入vue.js文件

css部分

<style>
 main{
  position:relative;
  }
 .star_line{
  /*  设置强制不换行 */
  width-space: nowrap;
  overflow: hidden;
  position: absolute;
  }
 .star{
  display: inline-block;
  /* 设置当鼠标放到星星上是变成小手样式 */
  cursor: pointer
  }
</style>

body部分

<div id="app">
 <input type="text" v-model.number="score">
 <- 任何一个组件在进行双向绑定接收绑定的值的时候,必须使用value来接收,原理参考input ->
 <v-star v-model="score"></v-star>
</div>

js部分我们用到组件,input在根组件内,而我们创建的星星放在一个组件内,主要通过双向绑定,父组件和子组件相互传值,来实现星星评分

组件模板部分

<script id="v-star" type="text/html">
    <main :style="mainStyle">
        <!-- 白星星 -->
        <div class="star_line">
            <span @click="changeValue(star)" class="star" :style="starStyle" v-for="star in total">☆</span>
        </div>
        <!-- 黑星星 -->
        <div class="star_line" :style="blackStyle">
            <span @click="changeValue(star-1)" class="star" :style="starStyle" v-for="star in total">★</span>
        </div>
    </main>
</script>

js部分

<script>
    Vue.component("v-star",{
        template:"#v-star",
        props:{
            total:{
                default:10,
            },
            size:{
                default:30
            },
            // 接收从父组件传过来的score
            value:{}
        },
        // 计算属性
        computed:{
            mainStyle(){
                return{
                    width:this.size * this.total + "px",
                }
            },
            starStyle(){
                return{
                    width:this.size + "px",
                    height:this.size + "px",
                    fontSize: this.size + 6 + "px"
                }
            },
            blackStyle(){
                return{
                    width:this.value / this.total * 100 + "%"
                }
            }
        },
        methods:{
            changeValue(value){
                // 将最新的结果传给input
                // input标签有有个默认的input事件
                this.$emit("input",value)
            }
        }
    })

    new Vue({
        el:"#app",
        data:{
            score:1
        }
    })
</script>

效果图

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

(0)

相关推荐

  • vue2.0实现前端星星评分功能组件实例代码

    下面给大家分享vue 2.0实现星星评分组件,代码很简单,一起看看吧! 废话不多说了,直接给大家贴代码了,具体代码如下所示: <template id="pingJia"> <div> <ul> <li :class="{li1:1,bg1:index%2}" v-for="(value,index) in list"><span class="stu_span1">

  • vue实现带小数点的星星评分

    本文实例为大家分享了vue实现带小数点的星星评分的具体代码,供大家参考,具体内容如下 首先我们要先引入vue.js文件 css部分 <style> main{ position:relative; } .star_line{ /* 设置强制不换行 */ width-space: nowrap; overflow: hidden; position: absolute; } .star{ display: inline-block; /* 设置当鼠标放到星星上是变成小手样式 */ cursor:

  • Android自定义星星评分控件

    下面为控件的实现历程: 此控件高效,直接使用ondraw绘制,先亮照: 由于Android自身的星星评分控件样式可以改,但是他的大小不好调整的缺点,只能用small normal这样的style调整,自定义不强,因此击发了我自定义星星控件的欲望. 星星评分控件的设计,大体规划为: 需要两张图片,一颗亮星星,一颗空星星:(当然图片不一定是星星,其他图片也可以,现在实验就用星星就好了)星星数量,间距可以自定义,星星的最小步进为0.1,在用户使用的时候与Android自带的方法一样. 星星控件大体分为

  • JS实现带提示的星级评分效果完整实例

    本文实例讲述了JS实现带提示的星级评分效果.分享给大家供大家参考,具体如下: 这是一款JS仿淘宝网的星级评分系统,鼠标放在上边可以显示星级代表的评分级别,鼠标点击时会选中当前的星级,目前此功能在网页上十分流行,虽然是仿做的,但已经很不错的功能了,希望大家喜欢! 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-start-level-pf-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD

  • Android自定义View实现星星评分效果

    目录 前言 1.测量与图片的绘制 2.事件的交互与计算 3. 回调处理与自定义属性抽取 后记 前言 在前面的学习中,我们基本了解了一些 Canvas 的绘制,那么这一章我们一起复习一下图片的绘制几种方式,和事件的简单交互方式. 我们从易到难,作为基础的进阶控件,我们从最简单的交互开始,那就自定义一个星星评分的控件吧. 一个 App 必不可少的评论系统打分的控件,可以展示评分,可以点击评分,可以滑动评分.它的实现总体上可以分为以下的步骤: 强制测量大小为我们指定的大小 先绘制Drawable未评分

  • js限制文本框只能输入整数或者带小数点的数字

    做表单验证的时候是否会碰到验证某个输入框内只能填写数字呢,仅允许输入整数数字或者带小数点的数字.下面这段代码也许能帮到你!通过对当前输入框定义onkeypress,onkeyup,onblur事件对表单做了充分的验证,结果还是非常靠谱的. 复制代码 代码如下: <input type="text" value="" t_value="" o_value="" onkeypress="if(!this.value

  • JS实现星星评分功能实例代码(两种方法)

    一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> ul { padding-left: 0; overflow: hidden; } ul li { float: left; list-style: no

  • js实现商城星星评分的效果

    在这里和朋友们分享一个使用js实现商城星星评分的效果,希望能给大家点帮助,当然更好的特效还有待大家完善. html如下: <div class="starts"> <ul id="pingStar"> <li rel="1" title="特别差,给1分"></li> <li rel="2" title="很差,给2分"><

  • js实现的星星评分功能函数

    本文实例讲述了js实现的星星评分功能函数.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head&

  • Android UI控件RatingBar实现自定义星星评分效果

    本文实例为大家分享了Android RatingBar星星评分效果的具体代码,供大家参考,具体内容如下 继承关系 AppCompatRatingBar 效果图 xml <RatingBar style="@android:style/Widget.DeviceDefault.RatingBar.Small" android:layout_width="wrap_content" android:layout_height="wrap_content&

随机推荐