前言
本文使用了lable关联选中,实际使用中如果不需要,直接将循环语句 v-for 写在 input标签上就可以
1、使用v-for循环的radio单选框
01)需要注意的是,这是使用的是 change 事件,而不是 click 点击事件
<template> <div> <label v-for="(item, index) in radioData" :key="index"> <input type="radio" v-model="radioVal" :value="item.value" @change="getRadioVal" /> {{ item.value }} </label> </div> </template> <script> export default { data() { return { radioData: [ { value: '全部' }, { value: '部分' }, { value: '零散' } ], radioVal: '全部' // 用于设置默认选中项 }; }, methods: { getRadioVal() { console.log(this.radioVal); } } }; </script>
2、不使用v-for循环的radio单选框
01)需要注意的是,这是使用的是 change 事件,而不是 click 点击事件
<template> <div> <label><input v-model="radioVal" type="radio" value="全部" @change="getRadioVal">全部</label> <label><input v-model="radioVal" type="radio" value="部分" @change="getRadioVal">部分</label> <label><input v-model="radioVal" type="radio" value="零散" @change="getRadioVal">零散</label> </div> </template> <script> export default { data() { return { radioVal: '全部' // 用于设置默认选中项 }; }, methods: { getRadioVal() { console.log(this.radioVal); } } }; </script>
点击每一项获得当前项的value值,使用v-for 和不使用v-for 实现的效果是一样的
这里就不分开写效果图了
如果本篇文章对你有帮助的话,很高兴能够帮助上你。
补充知识:vue绑定单选框(radio)和复选框(CheckBox)
html部分
<div style="width:500px;margin:50px auto;display:flex;flex-direction:column;"> <div style="font-weight:600;font-size:18px">问卷调查</div> <div v-for="(item,index) in question" :key="index" style="padding-top:10px"> <div style="margin-bottom:10px">{{item.title}}</div> <div v-if="item.sex" style="display:flex;align-items:center;"> <div v-for="(item2,index2) in item.sex" :key="index2" @click="chooseSex(item2)" style="margin-right:20px"> <input type="radio" :value="item2" v-model="radio2"> <span> {{item2}}</span> </div> </div> <div v-if="item.item" style="display:flex;align-items:center;"> <div v-for="(item3,index3) in item.item" :key="index3" @click="chooseHobbied(item3)" style="margin-right:20px"> <input type="checkbox" :value="item3" v-model="checkbox"><span> {{item3}}</span> </div> </div> </div> </div>
vue数据绑定
data() { return { radio2:'', checkbox:[], question:[ { title:"1、请选择你的性别", sex:[ '男','女' ] }, { title:"2、请选择你的爱好", item:[ '打球','读书','画画','游泳','跑步' ] } ], }; },
js部分
//单选框radio选中值的改变 chooseSex(item){ this.radio2 = item; console.log("点击",item,"值",this.radio2); }, //复选框checkbox多项选择后的值,及取消选中后的其他值 chooseHobbied(item){ if(box.indexOf(item) === -1){ box.push(item); this.checkbox = box; console.log("点击",item,"值",box); }else{ box.splice(box.indexOf(item),1); console.log("box值",box); this.checkbox = box; } },
以上这篇vue radio单选框,获取当前项(每一项)的value值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“vue radio单选框,获取当前项(每一项)的value值操作”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月16日
2024年11月16日
- 群星《2024好听新歌36》AI调整音效【WAV分轨】
- 梁朝伟.1986-朦胧夜雨裡(华星40经典)【华星】【WAV+CUE】
- 方芳.1996-得意洋洋【中唱】【WAV+CUE】
- 辛欣.2001-放120个心【上海音像】【WAV+CUE】
- 柏菲·万山红《花开原野1》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 柏菲·万山红《花开原野2》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 潘安邦《思念精选集全纪录》5CD[WAV+CUE]
- 杨千嬅《千嬅新唱金牌金曲》金牌娱乐 [WAV+CUE][985M]
- 杨钰莹《依然情深》首版[WAV+CUE][1G]
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】