微信小程序小技巧系列《七》五星评分,制作微信小程序组件

2017-01-11

一:实现五星点评

先看一下效果图:

微信小程序小技巧系列《七》五星评分,制作微信小程序组件

如上图所示,这里我们要添加三个五星点评。

我们这里之讲解一下,“描述相符”的点评


WXML代码

 <!--星星评价-->
   <view class="comment1-description" style="display:flex;flex-direction:row;">
   <view class="comment1-description1">描述相符</view>
   <view  class="star-pos" style="display:flex;flex-direction:row;">
        <view class="stars  {{flag0>=1? 'on': ''}}"  bindtap="changeColor1"></view>
        <view class="stars  {{flag0>=2? 'on': ''}}"  bindtap="changeColor2"></view>
        <view class="stars  {{flag0>=3? 'on': ''}}"  bindtap="changeColor3"></view>
        <view class="stars  {{flag0>=4? 'on': ''}}"  bindtap="changeColor4"></view>
        <view class="stars  {{flag0>=5? 'on': ''}}"  bindtap="changeColor5"></view>
    </view>
    </view>12345678910111234567891011

JS代码

Page({
  data:{
      flag:0
  },
  changeColor1:function(){
        var that = this;
        that.setData( {
            flag: 1
        });
  },
  changeColor2:function(){
        var that = this;
        that.setData( {
            flag:2
        });
    },
  changeColor3:function(){
        var that = this;
        that.setData( {
            flag: 3
        });
    },
  changeColor4:function(){
        var that = this;
        that.setData( {
            flag:4
        });
    },
  changeColor5:function(){
        var that = this;
        that.setData( {
            flag: 5
        });
    },12345678910111213141516171819202122232425262728293031323334351234567891011121314151617181920212223242526272829303132333435

WCSS代码

/*星星的样式*/.stars{    background-image: url("http://m.dev.vd.cn/static/xcx/v1/goo/star(灰)@1.5x.png");    width: 43rpx;    height: 43rpx;    background-size: 43rpx 43rpx;    margin-left: 40rpx;}.on{    background-image: url("http://m.dev.vd.cn/static/xcx/v1/goo/star@1.5x.png");    width: 43rpx;    height: 43rpx;    background-size: 43rpx 43rpx;    /*margin-left: 10px;*/}

二:制作微信小程序组件

对于我们日常中一些公共的东西可以封装成组件,然后在各个页面使用。对于小程序,我们也可以封装我们需要的一些公共的东西。

这里我们讲解一个小插件

微信小程序小技巧系列《七》五星评分,制作微信小程序组件

微信小程序小技巧系列《七》五星评分,制作微信小程序组件

如上图所示,一个小插件,单击是展开,在单击关闭的时候,按钮关闭。

页面的WXML (APP.wxml)

<template name="widget-dialog-iconList">
    <view class="com-widget-iconList {{close==1?'hideImg':''}}"  style="display:flex;flex-direction:row;">
        <view  style="display:flex;flex-direction:row;">
            <view class="left-icon" style="display:flex;flex-direction:row;">
                <view class="left-circle"></view>
                <image class="icon1" src="http://m.dev.vd.cn/static/xcx/v1/goo/md_logo.png"></image>
            </view>
            <view class="middle_icon " style="display:flex;flex-direction:row;">
                <navigator url="../tua/home">
                    <view class="section1">
                        <view><image class="icon2" src="http://m.dev.vd.cn/static/xcx/v1/goo/firsticon.png"></image></view>
                        <view class="text">首页</view>
                    </view>
                </navigator>
                <navigator url="../ord/list">
                    <view class="section2">
                        <view><image class="icon2" src="http://m.dev.vd.cn/static/xcx/v1/goo/orderIcon.png"></image></view>
                        <view class="text">订单</view>
                    </view>
                </navigator>
                <navigator url="../usr/center">
                    <view class="section3">
                        <view><image class="icon3" src="http://m.dev.vd.cn/static/xcx/v1/goo/myself.png"></image></view>
                        <view class="text">我的</view>
                    </view>
                </navigator>
                <view class="right-icon" style="display:flex;flex-direction:row;">
                    <image class="iconright" src="http://m.dev.vd.cn/static/xcx/v1/goo/delAllIcon.png" bindtap="closeAllIcon"></image>
                </view>
            </view>

        </view>
    </view>
    <view class="iconOnly {{close==0?'hideImg':''}}">
        <image class="iconOnlyPic" src="http://m.dev.vd.cn/static/xcx/v1/goo/md_logo.png" bindtap="showAllIcon"></image>
    </view></template>1234567891011121314151617181920212223242526272829303132333435363712345678910111213141516171819202122232425262728293031323334353637

这里主要是插件的压面展示效果,都写在<template>标签里面就可以了。

页面的JS (APP.js)

var iconList = {};        //设置一个对象名字存放数据iconList.Wdg= {            //存放要给VIEW层的页面数据,closeAllIcon ,showAllIcon 是对应的方法   
    data: {               
        index: 0,
        close:0
    },
    closeAllIcon: function(e){
            this.setData({
                close:1
            })
    },
    showAllIcon :function(e){
            this.setData({
                close:0
            })
    }
};

module.exports=iconList    //将接口的进行暴露,方便在外面调用12345678910111213141516171819201234567891011121314151617181920

接下来封装好了,就是该怎么使用了。

在需要的WXML页面:

通过 引入斤页面,再通过

<template is="widget-dialog-iconList" data="{{你要传到页面的数据}}"></template>11

进行使用。

在需要的WXML页面:

通过var iconList = require('../wdg/iconList');引入对应的JS

var util= require('../../util/util');var Page = new util.Page({
    Wdgs: [iconList.Wdg]
});12341234

引入对应文件。




0
收藏