vue框架实现表情打分效果

本来今天要实现这个功能 但是在网上查了一下 就csdn上有一个符合要求的 但是他竟然收费,痛心疾首啊 太伤白嫖党的心的 所以我手写了一个这个类似功能的代码 希望能帮到有这个需求的同学们

技术栈是VUE3 用其他技术栈的也可以看 因为逻辑很简单都一样的
// 问卷的虚拟数据
const dataInfoList = ref([{id:'0' ,label:'您对小区管理人员的服务态度是否满意?',count:''},{id:'1' ,label:'您对小区环境、绿化是否满意?',count:''},{id:'2' ,label:'您对小区内的清洁卫生及垃圾收集堆放是否满意?',count:''},{id:'3' ,label:'您对小区公共设施(健身器材、活动场所、电瓶车充电设施等)是否满意?',count:''},{id:'4' ,label:'您对小区开展社区文化娱乐活动是否满意?',count:''},{id:'5' ,label:'您对小区车辆管理及外来人员管理是否满意?',count:''},{id:'6' ,label:'您对小区物业维修及时、质量、回访是否满意?',count:''},]
)

要是实现上面代码的话 数据格式应该都跟上面格式类似 不一样的大家酌情更改

               <!-- 问题列表 --><div class="questionnaires"><div class="questionnaires_box" v-for="(item,index) in dataInfoList" :key="index"><!-- 序号 以及 每一项标题 --><p class="title"><span>{{ index+1 }},</span><span>{{ item.label }}</span></p><div class="grade">//图片<div class="grade_top"><div @click="updateCount(item.id, 1)" :class="{ selected: item.count == 1 }"><img src="../../assets/icons/garid1.png" alt=""><span>很差1分</span></div><div @click="updateCount(item.id, 2)" :class="{ selected: item.count == 2 }"><img src="../../assets/icons/garid2.png" alt=""><span>不满意2分</span></div><div @click="updateCount(item.id, 3)" :class="{ selected: item.count == 3 }"><img src="../../assets/icons/garid3.png" alt=""><span>基本满意3分</span></div><div @click="updateCount(item.id, 4)" :class="{ selected: item.count == 4 }"><img src="../../assets/icons/garid4.png" alt=""><span>满意4分</span></div><div @click="updateCount(item.id, 5)" :class="{ selected: item.count == 5 }"><img src="../../assets/icons/garid5.png" alt=""><span>非常满意5分</span></div></div></div></div></div>

updateCount(item.id, 2) 传入id 以及每一项对应的分值 用来修改每一项选中后的数据的分值进行对应的修改   

:class="{ selected: item.count == 1 }" 动态类名 如果本项数据的分值等于 XX 的话设置动态样式 (就是设置选中样式)

// 修改选中值的数据
const updateCount = (id,num) => { let idx = dataInfoList.value.findIndex((value, index, array) => {return value.id === id;});if (idx !== -1) {dataInfoList.value[idx].count = num;}
}

样式(可以添加一个动画效果)

                          // 动画效果@keyframes zoom {from {transform: scale(1)}to {transform: scale(1.1)}}.selected{animation-name: zoom;animation-duration: 0.6s;//设置选中的图片样式img{width: 45px;height: 45px;transform: scale(1.1);max-width: 45px;max-height: 45px;}//设置选中文字样式span{color: black;font-size: 13px;font-weight: 600;}            }

到这一步效果就可以实现了  表情包图片我放在文章上面的附带资源上了 可以再进阶一下 用俩种不同图片来显示选中的样式 看大家需求吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/138980.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何用CRM软件系统管理企业客户

客户对企业的重要程度不言而喻。可以说&#xff0c;客户是企业收益的来源和可持续发展的基础&#xff0c;客户的转化率和保留率也与企业的发展息息相关。企业想要成功转化客户&#xff0c;需要经历客户跟踪、挖掘、维护等一系列过程。下面我们来说说&#xff0c;CRM客户管理系统…

Flask框架-2-[单聊]: flask-socketio实现websocket的功能,实现单对单聊天,flask实现单聊功能

一、概述和项目结构 在使用flask-socketio实现单聊时&#xff0c;需要将会话id(sid) 与用户进行绑定&#xff0c;通过emit(事件,消息,tosid) ,就可以把消息单独发送给某个用户了。 flask_websocket |--static |--js |--jquery-3.7.0.min.js |--socket.io_4.3.1.js |--template…

leetcode543 二叉树的直径

题目 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 输入&#xff1a;root [1,2,3,4,5] 输出&#xff1…

jmeterbeanshell调用jsonpath获取对应值

1.jmeter 新建线程组、Java Request、BeanShell Assertion、View Results Tree 2、在BeanShell Assertion中贴入代码&#xff1a; import org.apache.jmeter.extractor.json.jsonpath.JSONManager; import java.util.List; JSONManager js new JSONManager(); String jsonStr…

手机上比较好用的笔记软件使用哪一款?

手机已经成为我们日常生活不可或缺的一部分&#xff0c;它们伴随着我们的方方面面。在这部小小的设备中&#xff0c;我们可以完成许多任务&#xff0c;其中之一就是记录笔记。手机上的笔记软件如今多种多样&#xff0c;但在选择时&#xff0c;敬业签可能是你不容错过的选择。 …

多平台兼容性:跑腿系统开发的移动端和Web端技术选项

随着移动设备和Web浏览器的广泛使用&#xff0c;跑腿系统的开发需要考虑多平台兼容性。本文将讨论一些在开发跑腿系统的移动端和Web端时可用的技术选项&#xff0c;并提供示例代码以帮助您入门。 移动端技术选项&#xff1a; 1. React Native React Native是一个流行的移动应…

YashanDB混合存储揭秘:行式存储如何为高效TP业务保驾护航(下)

上一篇文章https://mp.weixin.qq.com/s/mQLzi2PSZxqwwACSsq49ng为大家讲述了行式存储中事务并发控制的关键设计和优化。YashanDB采用了In-place Update 的块级 MVCC&#xff0c;能极大提高事务并发处理能力。本篇文章&#xff0c;我们将会详解插入性能优化和宽行存储的设计。 插…

查看吾托帮88.47的docker里的tomcat日志

步骤如下 &#xff08;1&#xff09;ssh &#xff08;2&#xff09;ssh root192.168.88.47 等待输入密码&#xff1a;fytest &#xff08;3&#xff09;pwd #注释&#xff1a;输出/root &#xff08;4&#xff09;docker exec -it wetoband_deploy /bin/bash #注释&#xff1…

【记录】Python 之于 C/C++ 区别

记录本人在 Python 上经常写错的一些地方&#xff08;C/C 写多了&#xff0c;再写 Python 有点切换不过来&#xff09; 逻辑判断符号用 and、or、!可以直接 10 < num < 30 比较大小分支语句&#xff1a;if、elif、else使用 、-&#xff0c;Python 中不支持 、- - 这两个…

elk日志某个时间节点突然搜索不到了

elk日志某个时间节点突然搜索不到了,检查filebeat正常 Kibana手动上传数据: 响应: Error: Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [2000]/[2000] maximum shards open 原因:ElasticSearch总分片数量导致的异常,ES…

Qt重写QTreeWidget实现拖拽

介绍 此文章记录QTreeWidget的重写进度&#xff0c;暂时停滞使用&#xff0c;重写了QTreeWidget的拖拽功能&#xff0c;和绘制功能&#xff0c;自定义了数据结构&#xff0c;增加复制&#xff0c;粘贴&#xff0c;删除&#xff0c;准备实现动态刷新数据支持千万数据动态刷新&a…

JAVA面经整理(2)

一)解决哈希冲突的方法有哪些&#xff1f; 哈希冲突指的是在哈希表中&#xff0c;不同的键值映射到了相同的哈希桶&#xff0c;也就是数组索引&#xff0c;导致键值对的冲突 1)设立合适的哈希函数:通过哈希函数计算出来的地址要均匀的分布在整个空间中 2)负载因子调节: 2.1)开放…

【vue】vue+easyPlayer 实现宫格布局及视频播放

由于业务需要&#xff0c;ant-design-vue框架集成easyPlayer.js作为视频播放器。EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC等多种音视频编码格…

王江涛十天搞定考研词汇

学习目标&#xff1a; 考研词汇 学习内容&#xff1a; 2023-9-17 第一天考研词汇 学习时间&#xff1a; 开始:2023-9-17 结束:进行中 学习产出&#xff1a; 2023-9-17intellect智力&#xff1b;知识分子intellectual智力的&#xff1b;聪明的intellectualize使...理智化&a…

堆的实现(C版)

普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储&#xff0c;需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事&#xff0c;一个是…

软件设计模式系列之十二——外观模式

在软件设计中&#xff0c;经常会遇到需要与复杂子系统进行交互的情况。为了简化客户端与子系统之间的交互&#xff0c;提高系统的可维护性和可用性&#xff0c;外观模式应运而生。外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它提供一个统…

激活函数总结(四十一):激活函数补充(ShiLU、ReLUN)

激活函数总结&#xff08;四十一&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 ShiLU激活函数2.2 ReLUN激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、ELU、SELU、GELU、Softmax、Sof…

腾讯云16核服务器性能测评_轻量和CVM配置大全

腾讯云16核服务器配置大全&#xff0c;CVM云服务器可选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xff0c;…

简单的手机电脑无线传输方案@固定android生成ftp的IP地址(android@windows)

文章目录 abstractwindows浏览android文件环境准备客户端软件无线网络链接步骤其他方法 手机浏览电脑文件公网局域网everythingpython http.server 高级:固定android设备IP准备检查模块是否生效 windows 访问ftp服务器快捷方式命令行方式双击启动方式普通快捷方式映射新的网络位…

第六次面试、第一次复试

第六面&#xff1a; hr迟到&#xff0c;说是搞错了以为线下&#xff0c;我打电话过去才开始&#xff0c;问我想电话面还是视频&#xff0c;果断电话面 自我介绍 介绍了一下公司的工作 ................. 项目拷打&#xff1a; grpc数据如何传输的如何调用两个接口如何获取…