首页 > 编程语言 >微信小程序开发实现星星评分组件

微信小程序开发实现星星评分组件

时间:2023-06-20 16:00:42浏览次数:49  
标签:flex index 评分 微信 程序开发 组件 display

微信小程序开发实现星星评分组件

问题背景

小程序开发中经常会碰到需要评分的场景,比如用户满意度调查等,本文介绍微信小程序实现打星评分的一种方案。 实现效果如下: image.png 截图2 image.png

问题分析

话不多说,直接上代码。 (1)index.wxml文件代码如下:

  <view class="vertical-star-item">
            <view class="starts-description">
              <text style="font-size: 30rpx;">很不满意</text>
              <text style="font-size: 30rpx;">很满意</text>
            </view>
            <view class="brightStars">
              <!-- answers[String(index)] -->
              <image class="image-item" wx:for="{{starsBox}}" wx:key="index" wx:for-index="index" wx:for-item="{{item}}" data-index="{{index}}" bindtap="changePic" src="{{index<=answer? '../../static/img/startFull.png' : '../../static/img/star.png'}}"></image>
            </view>
          </view>
</view>

(2)index.js文件,代码如下:

const rsaUtil = require('../../utils/RSAUtil')

// pages/healdata/healthydata.ts
Page({
  /**
   * 页面的初始数据
   */
  data: {
    ...
    starsBox: [1, 1, 1, 1, 1],
    answer: -1
  },

  ...

    /**
   * 评分组件选中处理 
   */
  changePic: function (e) {
    let f = this
    console.log(e.currentTarget.dataset)
    var index = e.currentTarget.dataset.index
    console.log(index)

    f.setData({
      answer: index
    })
  },
})

(3)index.wxss文件,代码如下:

.vertical-star-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 70%;
}

.starts-description {
  display: flex;
  justify-content: space-between;
}

.brightStars{
  display: flex;
  flex-direction: row;
}

.image-item{
  width: 50px;
  height: 50px;
}

(4)星星选中和未选中图片如下: startFull.png star.png

问题总结

本文介绍了微信小程序实现打星评分的一种方案,有兴趣的同学可以进一步深入研究。

标签:flex,index,评分,微信,程序开发,组件,display
From: https://blog.51cto.com/baorant24/6523501

相关文章

  • 【HarmonyOS】如何解决智能穿戴设备中swiper组件右滑与系统退出应用冲突问题(API6 JS)
    【关键字】API6、JS、swiper组件、智能穿戴、setSwipeToDismiss【问题描述】使用API6JS开发智能穿戴设备HarmonyOS应用,在首页使用swiper组件时,右滑swiper时会退出应用,无法实现swiper右滑效果,效果如下所示:【问题分析与原因】当页面栈只有一个页面时,默认滑动事件分发会让应用退出,而......
  • 封装svg通用组件
    安装vite-plugin-svg-icons插件pnpmivite-plugin-svg-icons-D在main.ts中引入vite-plugin-svg-iconsimport'virtual:svg-icons-register'创建src/assets/icons目录,用来存放svg图片配置vite.config.tsimport{createSvgIconsPlugin}from'vite-plugin-svg-......
  • 【Fidder网络抓包+Python爬虫】下载微信小程序视频
    首先声明本篇博客以学习为目的,侵权即删。文章目录1.Fidder抓包1.1在电脑上打开微信小程序视频播放页以及Fidder软件1.2点击视频播放按钮,并查看Fidder抓到的数据包2.Python爬虫2.1视频下载2.2视频合并2.3完整代码3.写在最后1.Fidder抓包       关于fidder软件的安......
  • 【HarmonyOS】如何解决智能穿戴设备中swiper组件右滑与系统退出应用冲突问题(API6 JS)
    【关键字】API6、JS、swiper组件、智能穿戴、setSwipeToDismiss 【问题描述】使用API6JS开发智能穿戴设备HarmonyOS应用,在首页使用swiper组件时,右滑swiper时会退出应用,无法实现swiper右滑效果,效果如下所示:​ 【问题分析与原因】当页面栈只有一个页面时,默认滑动事件分发......
  • uniapp企业微信web-view父子通信问题
    项目背景:开发工具为HBuilderX,框架为uniapp,开发移动端的Web应用,在企业微信中使用(自建应用),Web开发的应用,不是小程序。需求:页面中用到<web-view>组件,加载其他系统的页面(有跨域),需要在父子页面之间相互通信。这里通信的东西其实就是获取定位,通过uniapp获取用户定位信息,传递给<web-view......
  • 子组件调用父组件的方法
    子组件调用父组件的方法使用场景:父组件中有个弹窗(子组件),需要结合父组件和子组件的数据作为参数去请求调用父组件的方法关闭子组件等如:父组件是输入提现或充值的金额,点击确定弹出子组件,弹窗是展示输入的金额和费率,发送验证码输入验证码,输入验证码,点击确定的时候需要给父组件传......
  • v2和v3组件通信方式的区别
    https://gitee.com/jch1011/vue3_communication.git通信方式vue2props:父子组件、子父组件、甚至兄弟组件自定义事件:可以实现子父组件$bus:任意组件通信pubsub:发布订阅,任意组件通信vuex:集中式状态管理容器,实现任意组件通信ref:获取子组件的响应式数据及方法slot:插槽(默认、......
  • 常见k8s开源网络组件
    目前,已经有多个开源组件支持容器网络模型。常见的网络组件,包括Flannel、Open vSwitch、直接路由和Calico。1.FlannelFlannel之所以可以搭建k8s依赖的底层网络,是因为它能实现以下两个功能。(1)它能协助k8s,给每一个Node上的Docker容器分配互相不冲突的IP地址。(2)它能在这些IP地址之......
  • 记录--Vue3 封装 ECharts 通用组件
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助按需导入的配置文件配置文件这里就不再赘述,内容都是一样的,主打一个随用随取,按需导入。import*asechartsfrom"echarts/core";//引入用到的图表import{LineChart,typeLineSeriesOption}from"echarts/......
  • java后端接入微信小程序登录功能
    前言此文章是Java后端接入微信登录功能,由于项目需要,舍弃了解密用户信息的session_key,只保留openid用于检索用户信息后端框架:springboot小程序框架:uniapp流程概括官方流程:通过自定义登录态与openid,session_key关联,之后的前后端交互通过自定义登录态来识别只保留登录流程:使......