You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue复选框与单选框v-model绑定异常:仅返回'on'而非预期值

Vue复选框与单选框v-model绑定问题解决

问题根源是你没有给复选框和单选框设置value属性,Vue在未指定value的情况下,会默认将选中状态的返回值设为字符串'on',只要给每个输入框添加对应value就能解决需求。

修正要点:

  • 复选框:给每个<input type="checkbox">添加value属性,值对应你期望存入数组的字符串('vue'、'react'、'angular'),Vue会自动帮你在frontendItems数组中添加/移除选中的value值。
  • 单选框:给每个<input type="radio">添加value属性,同时要将两个单选框的name设为相同值(确保单选互斥),这样选中后whoAmI就能拿到对应的选项值('developer'或'programmer')。

修正后的完整代码:

<template>
    <p>FrontEnd Items</p>

<label for="vue">Vue.js</label>
<input type="checkbox" name="frontend" id="vue" v-model="frontendItems" value="vue">

<label for="React">React.js</label>
<input type="checkbox" name="frontend" id="React" v-model="frontendItems" value="react">

<label for="Angular">Angular.js</label>
<input type="checkbox" name="frontend" id="Angular" v-model="frontendItems" value="angular">

<p>
    You have selected :- {{ frontendItems }}
</p>

<p>For radio Buttons</p>
<p>Who am I</p>
<label for="developer">Developer</label>
<input type="radio" name="identity" id="developer" v-model="whoAmI" value="developer">

<label for="programmer">Programmer</label>
<input type="radio" name="identity" id="programmer" v-model="whoAmI" value="programmer">

<p>
    I am :- {{ whoAmI }}
</p>
</template>

<script>
export default {
    name : 'CheckRadiobinding',
    data(){
        return {
            frontendItems:[],
            whoAmI : null
        }
    }
}
</script>

内容的提问来源于stack exchange,提问作者ARBIND KUMAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:15:38