轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 微信小程序 查看主题

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

发布者: 208 | 发布时间: 2018-2-25 14:57| 查看数: 7249| 评论数: 1|帖子模式

作者:马优晨,来自原文地址
一:实现五星点评

先看一下效果图:

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

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


WXML代码

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

JS代码

  1. Page({
  2. data:{
  3. flag:0
  4. },
  5. changeColor1:function(){
  6. var that = this;
  7. that.setData( {
  8. flag: 1
  9. });
  10. },
  11. changeColor2:function(){
  12. var that = this;
  13. that.setData( {
  14. flag:2
  15. });
  16. },
  17. changeColor3:function(){
  18. var that = this;
  19. that.setData( {
  20. flag: 3
  21. });
  22. },
  23. changeColor4:function(){
  24. var that = this;
  25. that.setData( {
  26. flag:4
  27. });
  28. },
  29. changeColor5:function(){
  30. var that = this;
  31. that.setData( {
  32. flag: 5
  33. });
  34. },

WCSS代码

  1. /*星星的样式*/
  2. .stars{
  3. background-image: url("灰)@1.5x.png");
  4. width: 43rpx;
  5. height: 43rpx;
  6. background-size: 43rpx 43rpx;
  7. margin-left: 40rpx;
  8. }
  9. .on{
  10. background-image: url("");
  11. width: 43rpx;
  12. height: 43rpx;
  13. background-size: 43rpx 43rpx;
  14. /*margin-left: 10px;*/
  15. }
二:制作微信小程序组件

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

这里我们讲解一个小插件

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

页面的WXML (APP.wxml)

  1. <template name="widget-dialog-iconList">
  2. <view class="com-widget-iconList {{close==1?'hideImg':''}}" style="display:flex;flex-direction:row;">
  3. <view style="display:flex;flex-direction:row;">
  4. <view class="left-icon" style="display:flex;flex-direction:row;">
  5. <view class="left-circle"></view>
  6. <image class="icon1" src=""></image>
  7. </view>
  8. <view class="middle_icon " style="display:flex;flex-direction:row;">
  9. <navigator url="../tua/home">
  10. <view class="section1">
  11. <view><image class="icon2" src=""></image></view>
  12. <view class="text">首页</view>
  13. </view>
  14. </navigator>
  15. <navigator url="../ord/list">
  16. <view class="section2">
  17. <view><image class="icon2" src=""></image></view>
  18. <view class="text">订单</view>
  19. </view>
  20. </navigator>
  21. <navigator url="../usr/center">
  22. <view class="section3">
  23. <view><image class="icon3" src=""></image></view>
  24. <view class="text">我的</view>
  25. </view>
  26. </navigator>
  27. <view class="right-icon" style="display:flex;flex-direction:row;">
  28. <image class="iconright" src="" bindtap="closeAllIcon"></image>
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. <view class="iconOnly {{close==0?'hideImg':''}}">
  34. <image class="iconOnlyPic" src="" bindtap="showAllIcon"></image>
  35. </view>
  36. </template>

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

页面的JS (APP.js)

  1. var iconList = {}; //设置一个对象名字存放数据
  2. iconList.Wdg= {
  3. //存放要给VIEW层的页面数据,closeAllIcon showAllIcon 是对应的方法
  4. data: {
  5. index: 0,
  6. close:0
  7. },
  8. closeAllIcon: function(e){
  9. this.setData({
  10. close:1
  11. })
  12. },
  13. showAllIcon :function(e){
  14. this.setData({
  15. close:0
  16. })
  17. }
  18. };
  19. module.exports=iconList //将接口的进行暴露,方便在外面调用

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

在需要的WXML页面:

通过 引入斤页面,再通过

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

进行使用。

在需要的WXML页面:

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

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

引入对应文件。

最新评论

zale 发表于 2022-5-25 17:12
波士顿动力编程教程

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表