如何实现单选框可以点击但不会产生效果的功能(假)

784 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情

今天遇到一个比较有意思的需求

image.png

一个题目预览功能,正确答案会处于激活状态,单选框要能点击,但是不会有点击后的效果.大概意思就是可以点击,但是正确答案不会变.比如说图上答案为2.不论怎么点击高亮的都是2.

听到这个需求我有点愣住了,果然就没有项目经理提不出来的需求,狗贼吃我一拳.

我直接把其他正确答案选项激活其他给几个disabled不是轻轻松松.

003MWcpMly8gu98tomqfgj60hs0cj0ti02.jpg

我把东西做出来-------------------------------华丽的分割线-----------------------------

image.png

虽然不美观,但是基本功能都实现了,接下来只要能说服老大,今天就可以早点下班回去学习(打游戏)了,

这样一想还有一点小激动呢,

006APoFYly1gp28q65ugcg30dc0aodgw.gif

嘤嘤嘤,我被大哥打了一顿.这么简单的功能都要偷懒,再一天到晚摸鱼就给我腿打断,让我躺在公司里面敲代码. 诶!!!!

这是什么沙雕需求啊,既然是预览干脆就不让点算了勒.还又要能点又没有效果.

左右为男,强人锁男,男上加男

好像有一点思路,又好像什么都没有

image.png

在我砸坏第10块键盘的时候突然灵光一闪,只要计算机运行的够快,一闪而逝的过程眼睛就看不见,真不愧是我啊,大聪明.开干


  <div v-for="item in details.options" :key="item.id" style="margin-top:15px">
     <el-radio @change="codeChange" v-model="correct" :label="item.code">{{item.title}}</el-radio>
  </div>
          
        correct: '',
        oldCorrect:'正确答案'
   // 单选框重新赋值
    codeChange (value) {
      this.correct = this.oldCorrect
    },

更具体的代码我就不贴出来了,简单说一下主要就是就是运用change事件.

在拿到正确答案的时候我会把正确答案赋值给Correct和oldCorrect.

当change事件触发的时候correct值会相应的发生改变,激活的单选框会发生改变.

而我使用 this.correct = this.oldCorrect给单选框v-model绑定的correct重新赋值覆盖.

这样就会实现可以点击但是表面上没有效果的功能了.啧啧啧,真是天马行空一般的想法啊

006APoFYly8gtcetqys6sg30hs0hs0vw.gif

下班下班,打工人从不加班(基本上天天加)

路走偏了,我为什么要用v-model去绑定变量呢,既然我不想它改变,那不使用双向绑定不就好了吗. 用value不香吗