怎样实现答题卡功能?

发布于 2022-09-13 00:27:37 字数 88 浏览 31 评论 0

怎样实现点击题目下面的选项样式改变,答题卡里对应的选项的样式也改变?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人生戏 2022-09-20 00:27:37

判断对应题目的答案是否为undefined,如果不是就改变样式...

2022-09-20 00:27:37

思路解剖

1.未进行答案提交前,只涉及到答题者选择结果,进行结果的选择样式更迭
2.在切换答案时,将原有样式清楚,再新选择的答案上进行样式更迭

具体实现

<template>
  <!-- 具体的DOM自行编写,此处只是进行样式更迭的一个大概示例 -->
<div class="question-list">
      <div 
        class="question-item"
        v-for="item in list"
        :key="item.id"
      >
        <div class="question-item-title">
          {{ item.title }}
        </div>
        <div class="question-item-answer">
          <div 
            class="question-item-answer-item"
            v-for="el in item.answer"
            :key="el.id"
            @click="chooseAnwer(index,el.id)"
            :class="{'active': el.id === answerList[index].answerId}"
          >
            {{ el.label }}
          </div>
        </div>
      </div>
    </div>
</template>

<script>
export default {
 data(){
   return {
     list:[], // 题目列表
     answerList:[] // 选中的答案列表
   }
 },
 mounted(){
   this.init()
 },
 methods:{
  init(){
    this.list =[] // 接口返回数据
    // 实现处理好答题列表的数据。
    this.answerList = this.list.map(item=>{
     return {
      id:item.id,
      answerId: null
     }
    })
  },
  // 选中答案时,将答案的ID,存储到数组中进行处理
  chooseAnwer(index,id){
   this.answerList[index].answerId = id;
  }
 }
}
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文