当前位置: 首页 > news >正文

uniapp复选框 实现排他选项

选择了排他选项之后 复选框其他选项不可以选择
在这里插入图片描述

<view class="reportData" v-for="(val, index) in obj" :key="index">
<view v-if="val.type ==3" ><u-checkbox-group v-model="optionValue" placement="column"@change="(e) =>checkboxChange(e, val)"><view v-for="(item, i) in val.optionInfoList" :key="i"><u-checkbox :customStyle="{marginBottom: '20rpx'}" :label="item.optionName":name="item.optionName"></u-checkbox></view></u-checkbox-group></view>
</view>
<script>export default {data(){return {obj:"",optionValue:''}},onLoad(){this.init()},methods:{init(){//假设后台返回的数据格式res={"code":0,"msg":null,"data":{"name":"排他选择的问卷调查","questionInfoList":[{"id":"17","questionContent":"排他选项的题目?","type":"3",//3表示复选框"optionInfoList":[ //选项{"id":"1","optionName":"不包含选项","optionType":"1"},{"id":"2","optionName":"选项1","optionType":"1"},{"id":"3","optionName":"选项2","optionType":"1"},{"id":"4","optionName":"选项3","optionType":"1"},{"id":"5","optionName":"其他","optionType":"1"}]}]}}}//对数据进行处理let data=res.data.questionInfoListthis.obj=data.optionInfoList.map(item=>{//如果是复选框 type==3 让所有的复选框默认为false 不选中if(item.type==3){item.optionInfoList.map(sub=>{sub.checked=false;return sub})}return item})},checkboxFn(e, item, index,i){//跟新obj中的checked状态值this.$set(this.obj[index].optionInfoList[i],'checked',e)//如果选中 并且为排他选项if(item.optionType==1 && item.checked) {//对整个数据进行遍历let optionInfoList=this.obj[index].optionInfoList.map((rr,k)=>{//让排他项目选中 其他为falseif(rr.optionType==1){rr.checked=true}else {rr.checked=false}return rr})//更新obj数据this.$set(this.obj[index],'optionInfoList',optionInfoList)}else {//如果选中 并且部位排他项 则 排他项为false 其他根据选择的情况而定let optionInfoList=this.obj[index].optionInfoList.map((rr,k)=>{if(rr.optionType==1){console.log(11)rr.checked=false}return rr})this.$set(this.obj[index],'optionInfoList',optionInfoList)}},//checkboxChange(e, val, index) {}}</script>
http://www.lryc.cn/news/287298.html

相关文章:

  • openssl3.2/test/certs - 004 - cross root and root cross cert
  • 图像分类】【深度学习】【轻量级网络】【Pytorch版本】EfficientNet_V2模型算法详解
  • 05.Elasticsearch应用(五)
  • npm更换镜像
  • 野指针(C语言)
  • 动物姿态识别(数据集+代码)
  • JSON-handle工具安装及使用
  • kali安装LAMP和DVWA
  • 上门服务小程序|预约上门服务系统开发有哪些功能?
  • uniapp vue3版本引用 jsencrypt加密库报错:“default“ is not exported by……
  • 【WPF.NET开发】WPF中的双向功能
  • Pytest 测试框架与Allure 测试报告——Allure2测试报告-L3
  • 【机器学习300问】16、逻辑回归模型实现分类的原理?
  • OPC【4】:物理包
  • 关于 Go 协同程序(Coroutines 协程)、Go 汇编及一些注意事项。
  • 深入剖析BaseMapperPlus扩展接口及其在MyBatis-Plus中的实践价值
  • Linux之安装配置VCentOS7+换源
  • [极客大挑战 2019]LoveSQL1
  • 网络安全的介绍
  • django邮件通知功能-
  • C++ 类定义
  • IntelliJ IDE 插件开发 | (五)VFS 与编辑器
  • 金融OCR领域实习日志(一)
  • CC++编译和链接介绍
  • Element-UI中的el-upload插件上传文件action和headers参数
  • 在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
  • docker相关
  • 生产力工具|卸载并重装Anaconda3
  • 大模型学习与实践笔记(十二)
  • Vulnhub靶机:FunBox 5