vue 简单实现上一题下一题问答效果

article/2025/8/29 11:44:36

 1.先来看下效果(左上展示题目数量以及当前题序号,当第一题时只有下一题按钮,未回答问题时无法点击下一题,且回答结果展示错误或正确的颜色)

​​​​

 2.接下来我们来看下html是怎么写的吧

<!-- 左边数据 --><div class="top-left"><img src="../../images/question_left.png" alt="" /><div class="top-text">{{ idx + 1 }}/{{ questionList.length }}</div></div><!-- 问答题目 --><div class="card-min" v-for="(item, index) in questionList" :key="index" v-show="index == idx"><div class="card-top">{{ item.questionName }}</div><div class="card-select"><!-- 如果选择的答案未A且正确结果为A,其他选项同理--><div :class="[item.isTrue && item.answerCorrect == 'A' ? 'yes' : '',!item.isTrue && item.result == 'A' ? 'no' : '',!item.isTrue && item.answerCorrect == 'A' && item.result? 'yes': '',]" class="select-min" v-if="item.answerA" @click="handleCilck('A', index)"><div class="select-con">A.{{ item.answerA }}</div></div></div></div><!-- 按钮部分 --><div class="bot-but"><div class="but-show" @click="back()" v-if="idx != 0 && isShow" :class="idx == 0 ? 'but-show' : 'before-back'"><!-- 上一题 -->上一题</div><div class="next" @click="next(idx)" v-if="isShow" :class="idx == 0 ? 'but-show' : 'before-next'"><!-- 下一题 -->下一题</div><!-- 提交 --><div class="next" v-if="!isShow" @click="submit(idx)" :class="idx == 0 ? 'next' : 'but-show'"><!-- 提交 -->提交</div></div>

3.继续css样式

   <--选取结果的样式-->
.select-min {width: 100%;min-height: 85px;border-radius: 50px;margin: 35px 0px;padding: 0px 35px;font-size: 32px;background: #e4efff;display: flex;align-items: center;&.yes {background: #70c9ad;}&.no {background: #ed8254;}.select-con {line-height: 45px;}}<--所有按钮的样式-->.bot-but {width: 100%;height: 90px;line-height: 90px;text-align: center;position: fixed;bottom: 200px;display: flex;.but-show {width: 70%;height: 100%;margin: 0 auto;color: #ffffff;font-size: 36px;border-radius: 50px;}.next {width: 70%;height: 100%;margin: 0 auto;background: #fdc003;color: #ffffff;font-size: 36px;border-radius: 50px;}.before-next {width: 40%;height: 100%;margin: 0 auto;color: #ffffff;font-size: 36px;border-radius: 50px;background: #fdc003;}.before-back {width: 40%;height: 100%;margin: 0 auto;color: #4c69e4;font-size: 36px;border-radius: 50px;background: #ffffff;}}

4.处理数据环节

1.获取题目数据这个忽略(记得先定义一个 参数 ,方便后面处理 index,我定义的是idx 哦)
2.我根据我这个接口数据返回数据,往里面加了2个参数,如下:item.result = ""; //选择的结果item.isTrue = false; //结果是否正确
3. 我们来看下next 方法(调用方法时传参为ids)next(index) {if (!this.questionList[index].result ||this.questionList[index].result == "" ||this.questionList[index].result == null) {return;} else {this.idx++;}// 当前页等于最后一题 下一题按钮隐藏if (this.idx == this.questionList.length - 1) {return (this.isShow = false);} else {return (this.isShow = true);}},
4.返回直接处理index就好back() {this.idx--;},
5.接下来就是点击上一题 下一题的啦handleCilck(str, i) {const item = this.questionList[i];if (item.result) {return;}if (item.answerCorrect == str) {item.result = str;item.isTrue = true;this.num++;} else {item.result = str;item.isTrue = false;}},6.最后提交按钮submit(index) {if (!this.questionList[index].result ||this.questionList[index].result == "" ||this.questionList[index].result == null) {return;} else {//提交表单}},


http://chatgpt.dhexx.cn/article/CeEhFtTy.shtml

相关文章

MybatisPlus自动填充(建立、更新时间)

准备 1、建立user表 DROP TABLE IF EXISTS user;CREATE TABLE user (id BIGINT(20) NOT NULL COMMENT 主键ID,name VARCHAR(30) NULL DEFAULT NULL COMMENT 姓名,age INT(11) NULL DEFAULT NULL COMMENT 年龄,email VARCHAR(50) NULL DEFAULT NULL COMMENT 邮箱,PRIMARY KEY …

Jpa配置实体类创建时间更新时间自动赋值,@CreateDate,@LastModifiedDate

操作数据库映射实体类时&#xff0c;通常需要记录createTime和updateTime&#xff0c;如果每个对象新增或修改去都去手工操作创建时间、更新时间&#xff0c;会显得比较繁琐。 Springboot jpa提供了自动填充这两个字段的功能&#xff0c;简单配置一下即可。CreatedDate、LastM…

win10如何关闭自动更新及修改更新时间

关于win10如何关闭自动更新&#xff0c;有以下三个方法&#xff0c;但其效果明显不同。 当然&#xff0c;可用度最高的肯定放到最前面。 其中方法一实用性最强&#xff0c;方法二有时候没什么用&#xff0c;方法三可以延缓较长一段时间更新&#xff0c;方法四可以设置更新时间…

mybatis自动生成更新时间和创建时间

开发中&#xff0c;每次修改数据或者添加一条数据都要手动改变一次创建时间或者更新时间&#xff0c;有一说一挺麻烦的 数据表里面的创建时间和更改时间字段 更新update和insert要想自动生成的话实体类要加上TableField 然后创建MyMetaObjectHandler类&#xff0c;实现Meta…

Ubuntu修改时区和更新时间

更新时区 先查看当前系统时间 rootubuntu:/# date -R Thu, 12 Aug 2021 01:41:48 0000 结果时区是&#xff1a;-0000 我需要的是东八区&#xff0c;这儿显示不是&#xff0c;所以需要设置一个时区 运行tzselect tzselect在这里我们选择亚洲 Asia&#xff0c;确认之后选择中…

MySQL 设置 创建时间 和 更新时间

在实际应用中&#xff0c;我们时常会需要用到创建时间和更新时间这两个字段&#xff0c;下面记录一下&#xff1a; 第一种 &#xff1a; 命令行创建&#xff08;推荐&#xff09; CREATE TABLE user_info (uid varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT…

MySQL中创建时间和更新时间的自动更新

一、需求 当新增记录的时候&#xff0c;MySQL自动将系统的当前时间 set 到创建时间和更新时间这两个字段中。 当更新记录的时候&#xff0c;MySQL 只 update 更新时间字段的时间&#xff0c;而不修改创建时间字段对应的值。 二、方案 找到表中对应的创建时间和更新时间的字段…

Mysql设置自动更新时间

假设建表包括如下字段&#xff1a; id&#xff1a;主键ID create_time: 创建时间 update_time: 修改时间 如何创建table可以使得&#xff1a; 在插入记录时create_time、update_time默认为当前时间&#xff1b;在修改记录时update_time自动更新为当前时间&#xff1b; 建表语…

postgresql设置自动更新时间方法

在我们日常开发中&#xff0c;在设计数据库字段的时候不可避免的都要created_time&#xff08;创建时间&#xff09;以及updated_time&#xff08;修改时间&#xff09;两个时间戳字段&#xff0c;作用大家也都一目了然。下面将为大家详细介绍两个字段的如何去设置来达到你想要…

centos 7 更新时间和更新时区

使用 date 命令 查看当前centos7服务器的时间&#xff0c;发现当前时间与实际实际不同步。 1、下载ntpdate工具&#xff0c;使用该工具可以与时间服务器同步。 yum -y install ntp ntpdate 2、设置系统时间与网络时间同步。 ntpdate cn.pool.ntp.org 3.将系统时间写入硬件时间…

阿里国际站各数据更新时间汇总

2B平台运营 Michael Dai 1个月前 (11-10) 71次浏览 2个评论 扫描二维码 [编辑] 阿里国际站各数据更新时间汇总 昨天下午在查看关键词花费时突然发现已经过了下午3点了&#xff0c;但是关键词的推广计划没有重新开始&#xff0c;这时我才意识到直通车各计划的更新时间应该开…

MySQL中更新时间字段的更新时点问题

我们在设计表时&#xff0c;通常为了记录数据插入和更新的时间&#xff0c;会定义两个字段&#xff0c;create_time/insert_time和update_time&#xff0c;按照需求&#xff0c;记录插入的时间&#xff0c;会存储到create_time/insert_time字段中&#xff0c;记录更新的时间&am…

hexo添加文章更新时间

修改&#xff08;博客主目录&#xff09;/themes/next/layout/_macro/post.swig 文件&#xff0c;在<span class"post-time">...</span>标签后添加 {%if post.updated and post.updated > post.date%}<span class"post-updated"> |…

win10 更新计算机时间,win10更新时间太长怎么回事_windows10更新时间太久解决教程...

在使用win10系统的时候&#xff0c;经常会需要电脑进行更新&#xff0c;而我们会发现每次更新都会耗时1-2个小时时间。让人等的不耐烦&#xff0c;遇到win10更新时间太长怎么回事呢&#xff1f;接下来给大家分享一下windows10更新时间太久解决教程吧。 具体方法如下&#xff1a…

java插入或者修改数据自动更新时间字段

** 方法一:最简单 ** 在sqlyog界面打开相关的表 在要时间"更新"字段打勾 测试成功 每次修改表中数据 时间字段都会更新 ** 方法二:直接获取当前时间set到数据库 ** 例如 Transactional Override public int update(Enterprise enterprise) throws Exception{en…

oracle查表的更新时间,Oracle 查询倒叙查询所有表更新时间

先测试独立一张表的更新时间sql 可用不可用 select max(ora_rowscn), to_char( scn_to_timestamp(nvl(max(ora_rowscn),1002267)),yyyy-mm-dd hh24:mi:ss) from DM00_HSBM8 t; select max(ora_rowscn), to_char( scn_to_timestamp(nvl(max(ora_rowscn),1002267)),yyyy-mm-dd hh…

mysql 自动更新时间_如何设置mysql自动更新创建时间和更新时间

做项目时,希望: 新增记录时,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中。 更新记录时,mysql只update更新时间字段的时间。 设置mysql自动更新创建时间和更新时间的方法: 找到表中创建时间和更新时间的字段,将其修改为下列代码。 创建时间字段 creat_…

IDEA修改错误提示颜色

File—>Settings —>Editor —>Color Scheme—>General —>Errors and Warning—>Error Unused symbol 未使用方法,属性等 error 错误的属性

ts和vscode设置中文错误提示

ts设置中文错误提示的话&#xff0c;直接命令行设置就行了 yarn tsc --locale zh-CN vscode设置中文错误提示需要打开设置页面&#xff0c;搜索“typescript local”&#xff0c;然后设置中文就行了

element中表单错误提示信息被遮盖

提示信息被遮盖 解决方法 可以给form-item加一个特定的class&#xff0c;不影响其他的提示框&#xff0c;然后设定width&#xff0c;可以把所有内容显示。 代码 vue的template代码 <el-form-item label"用户微信" prop"userWeChat" class"weix…