当前位置:网站首页 > 技术博客 > 正文

vue实现单选多选答题

vue实现单选多选

一、明确需求
1、先明确数据有唯一标识区分
2、是否有选中的效果,如果有需要在每个数据里加一个标识来区分
实现下图效果
在这里插入图片描述
上代码
this.checkNow是选中得list,item是当前选中的数据对象,voteList是获取到选项的所有数据,votingForm 标识是否单选,isChecked 是否选中用来控制显示状态

// 多选 if(this.checkNow.includes(item)){ this.minusList(item) } else { this.addList(item) } // 添加选中数据方法 addList(list){ this.checkNow = this.checkNow.concat(list) this.voteList.forEach(item =>{ if(item.id === list.id){ item.isChecked = true } if(this.votingForm == '单选'){ if(item.id === list.id){ item.isChecked = true }else{ item.isChecked = false } } }) } // 减去选中 minusList(list){ this.checkNow = this.checkNow.filter(item => item != list) this.voteList.forEach(item =>{ if(item.id === list.id){ item.isChecked = false } }) } 

单选,checkNow里只会有一条数据

if(this.votingForm == '单选'){ if(this.checkNow && this.checkNow.length > 0 ){ if(this.checkNow[0] != item){ this.checkNow = [] this.checkNow[0] = item this.voteList.forEach(ele =>{ if(ele.id === item.id){ ele.isChecked = true } else { ele.isChecked = false } }) } else { this.minusList(item) } } else { this.addList(item) } } 

就酱~

  • 上一篇: kali代码大全
  • 下一篇: latex 安装宏包
  • 版权声明


    相关文章:

  • kali代码大全2024-10-20 22:30:02
  • latex安装流程2024-10-20 22:30:02
  • 自学计算机编程应该看些什么书籍2024-10-20 22:30:02
  • openwrt esir2024-10-20 22:30:02
  • 使用HiPrint批量打印条码,二维码2024-10-20 22:30:02
  • latex 安装宏包2024-10-20 22:30:02
  • oracle trc文件详解2024-10-20 22:30:02
  • latex软件安装教程2024-10-20 22:30:02
  • adas决策规划算法2024-10-20 22:30:02
  • Linux 定时任务 crontab 详解2024-10-20 22:30:02