大学智慧课堂系统整理

目录

一、题目类型选择器(非组件库)

1.1、效果展示

1.2、代码展示

二、题目类型选择器(Vant组件库)

2.1、效果展示

2.2、代码展示


一、题目类型选择器(非组件库)

  使用vue2:在methods里区分单个点击和多个点击,在view视图区分判断题和选择题。

如下图:左侧为单选题,中间是判断题,右侧是多选题


1.1、效果展示

1.2、代码展示

<template><div><!-- 判断 --><div class="squre" v-if="AnswerType.Type == '3'"><div v-for="(item, i) in AnswerType.list" :key="i"><pv-if="item.title == '1'"@click="ClickLi(i, 1)":class="['every', singleIndex == 1 ? 'green-color' : '']"><span>对</span></p><pv-if="item.title == '2'"@click="ClickLi(i, 2)":class="['every', singleIndex == 2 ? 'red-color' : '']"><span>错</span></p></div></div><!-- 多选 + 单选--><div class="squre" v-if="AnswerType.Type != '3'"><divclass="every"v-for="(item, i) in AnswerType.list":key="i":class="[SelectMore.indexOf(i) == -1 ? '' : 'blue-active',singleIndex == i ? 'pink-active' : '',]"><p @click="ClickLi(item, i)"><span>{{ item.title }}</span></p></div></div></div>
</template>
<script>
export default {data() {return {AnswerType: {// Type: 1, //单选// Type: 2, //多选// list: [//   { title: "A" },//   { title: "B" },//   { title: "C" },//   { title: "D" },//   { title: "E" },// ],Type: 3, //判断list: [{ title: "1" }, { title: "2" }],},LiIndex: -1,singleIndex: -1,SelectMore: [],};},methods: {ClickLi(v, i) {this.LiIndex = i;if (this.AnswerType.Type == "2") {//多选情况if (this.SelectMore.indexOf(i) == -1) {this.SelectMore.push(i); //多选时,点哪个,下标就加到选中数组里(勾选)} else {this.SelectMore.forEach((item, index) => {if (item == i) {this.SelectMore.splice(index, 1); //再次点击,去掉该下标(取消勾选)}});}let parseIntArr = [];let arrSort = this.SelectMore.sort((a, b) => a - b); //结果排序arrSort.forEach((item) => {let str = String.fromCharCode(64 + parseInt(item) + 1); //下标转为对应的大写字母parseIntArr.push(str);});console.log(arrSort, "this.SelectMore", parseIntArr); //[1, 3, 4,],['B', 'D', 'E']} else {//单选+判断情况this.singleIndex = i;console.log(v);}},},
};
</script>
<style lang='less' scoped>
.squre {border: 1px solid red;.every {width: 200px;height: 40px;border-radius: 20px;line-height: 40px;text-align: center;background-color: gainsboro;margin-bottom: 10px;}.blue-active {background-color: skyblue;}.pink-active {background-color: pink;}.green-color {color: green;font-size: 26px;}.red-color {color: red;font-size: 26px;}
}
</style>

二、题目类型选择器(Vant组件库)

2.1、效果展示

 

2.2、代码展示

        <!-- 判断 --><div class="judgment-list" v-if="DiffAnswerTwo.type == '3'"><divv-for="(t, i) in imgHeader":key="i"@click="SingleClick(t, i)":class="['single-every', liActive == i ? 'single-active' : '']"><img :src="liActive == i ? t.active : t.url" alt="" /></div></div><!-- 单选--><div class="single-list" v-if="DiffAnswerTwo.type == '1'"><van-radio-group v-model="radio"><van-radioid="radio"v-for="(v, i) in DiffAnswerTwo.optionVoList":key="i":name="v.option"><span>{{ v.option }}</span></van-radio></van-radio-group></div><!-- 多选 --><div class="single-list" v-if="DiffAnswerTwo.type == '2'"><van-checkbox-group v-model="result"><van-checkboxid="checkbox"shape="square"v-for="(v, i) in DiffAnswerTwo.optionVoList":key="i":name="v.option"><span>{{ v.option }}</span></van-checkbox></van-checkbox-group></div>
<script>data() {return {imgHeader: [{url: require("@/assets/image/blackdui.png"),active: require("@/assets/image/whitedui.png"),answer: "1",},{url: require("@/assets/image/blackcuo.png"),active: require("@/assets/image/whitecuo.png"),answer: "2",},],liActive: -1,judgmentSign: -1,radio: "",result: [],};},methods: {SingleClick(t, i) {this.liActive = i;this.judgmentSign = t.answer;},
},
</script>
<style lang="less" scoped>#radio {margin: auto;width: 230px;height: 44px;color: black;border-radius: 24px;text-align: center;font-size: 18px;font-weight: 500;font-family: "PingFang SC";line-height: 44px;border: 1px solid #e5e6eeff;margin-bottom: 20px;/deep/ .van-radio__label {width: 230px;text-align: center;line-height: 44px;}}#radio[tabindex="0"] {color: #fff;border: 1px solid #4dd48eff;background: #4dd48eff;}#radio[tabindex="0"] span,#radio[tabindex="0"] /deep/ .van-radio__label {color: #fff !important;}#radio /deep/ .van-radio__icon--round .van-icon {display: none;}#checkbox {margin: auto;width: 230px;height: 44px;color: black;border-radius: 24px;text-align: center;font-size: 18px;font-weight: 500;font-family: "PingFang SC";line-height: 44px;border: 1px solid #e5e6eeff;margin-bottom: 20px;/deep/ .van-checkbox__label {width: 230px;text-align: center;line-height: 44px;}}#checkbox[aria-checked="true"] {color: #fff;border: 1px solid #4dd48eff;background: #4dd48eff;}#checkbox[aria-checked="true"] span {color: #fff !important;}#checkbox /deep/ .van-checkbox__icon .van-icon {display: none;}.judgment-list {margin: 24px 0;height: 140px;overflow: auto;display: flex;flex-direction: column;.single-every {margin: auto;width: 230px;height: 44px;color: black;border-radius: 24px;text-align: center;font-size: 18px;font-weight: 500;font-family: "PingFang SC";line-height: 44px;border: 1px solid #e5e6eeff;margin-bottom: 20px;}}</style>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【微服务】springboot 通用限流方案设计与实现

目录 一、背景 二、限流概述 2.1 dubbo 服务治理模式 2.1.1 dubbo框架级限流 2.1.2 线程池设置 2.1.3 集成第三方组件 2.2 springcloud 服务治理模式 2.2.1 hystrix 2.2.2 sentinel 2.3 网关层限流 三、常用限流策略 3.1 限流常用的算法 3.1.1 令牌桶算法 3.1.2 …

chatgpt赋能python:同一行Python给两个变量赋值:如何提高编程效率?

同一行Python给两个变量赋值&#xff1a;如何提高编程效率&#xff1f; 作为Python编程方面经验丰富的工程师&#xff0c;我们都知道Python是一种非常易学易用的编程语言&#xff0c;其灵活性和高效性问题业已广为人知。然而&#xff0c;当我们在同时对多个变量进行赋值时&…

NLP学习笔记(三)

一&#xff1a;分类方法 &#xff08;一&#xff09;逻辑回归 最简单的方法就是将分类问题视为回归问题&#xff0c;采用逻辑回归计算分类的边界。 &#xff08;二&#xff09;softmax回归 softmax的前向传播过程可以分为以下三步&#xff1a; h W T x y ^ s o f t m a …

chatgpt赋能python:如何升级Python包

如何升级Python包 如果你是一名有着10年Python编程经验的工程师&#xff0c;那么你一定知道如何安装和使用Python包。但是&#xff0c;有时候你需要升级一些已经安装的包&#xff0c;以获得更好的性能和新功能。在本文中&#xff0c;我们将讨论如何升级Python包。 什么是Pyth…

[conda]tf_agents和tensorflow-gpu安装傻瓜式教程

1.打开终端或Anaconda Prompt&#xff08;Windows用户&#xff09;。 2.输入以下命令创建新的Python环境&#xff1a; conda create --name <env_name> python<version>其中&#xff0c;<env_name>是您想要创建的环境名称&#xff0c;<version>是您想…

HHU云计算期末复习(下)Hadoop、虚拟化技术、openstack

文章目录 第五章 Hadoop分布式文件系统HDFS分离元数据和数据&#xff1a;NameNode和DataNode流水线复制 第七章 虚拟化技术7.1 虚拟化技术简介7.2 虚拟机迁移7.3 网络虚拟化 第八章 openstack8.1 计算服务NovaRabbitMQ 8.2 Swift 第九章 云计算数据中心9.1 云数据中心特征9.2 网…

C# 多数元素

169 多数元素 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&…

Java面试Day12

1.意向锁是什么&#xff1f;有什么作用&#xff1f;它是表级锁还是行级锁&#xff1f; 意向锁是什么 在使用 InnoDB 引擎的表里时对某些记录加上「共享锁」之前&#xff0c;需要先在表级别加上一个「意向共享锁」 在使用 InnoDB 引擎的表里时对某些记录加上「独占锁」之前&…

升级HarmonyOS 3,通话一步切换更便捷

小伙伴们&#xff0c;今天和大家来聊聊HarmonyOS 3音频播控中心有哪些真香体验。不少朋友可能会脱口而出&#xff1a;一键切换音频App&#xff0c;一键实现音频跨设备流转&#xff0c;还有音频共享。这一次&#xff0c;音频播控中心又带来了新技能——一键切换通话音频。 相信大…

vue 图片上传到腾讯云对象存储组件封装(完善版)

vue 上传图片到腾讯云对象存储 1、 引入cos-js-sdk-v52、封装uploadcos.js3、封装图片上传组件、调用上传方法4、页面使用组件 之前总结过 vue 封装图片上传组件到腾讯云对象存储&#xff0c;后来又加了一些功能&#xff0c;在图片过大时进行压缩&#xff0c;压缩完成之后&…

[React]面向组件编程

1. 定义组件 - 函数式定义&#xff08;简单组件&#xff09;&#xff0c;使用function定义 import React from react; import ReactDOM from react-dom/client;function App() {return (<button onClick{handleClick}>click</button> // 直接把方法handleClick赋…

Elasticsearch-01篇(单机版简单安装)

Elasticsearch-01篇&#xff08;单机版简单安装&#xff09; 1. 前言1.1 关于 Elastic Stack 2. Elasticsearch 的安装&#xff08;Linux&#xff09;2.1 准备工作2.1.1 下载2.1.2 解压&#xff08;启动不能用root&#xff0c;所以最好此处换个用户&#xff09; 2.2 修改相应的…