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

Vuetify单选框绑定布尔值为何需用v-bind设置value属性?

差异原因说明

这个是Vue基础的属性绑定规则导致的,和你使用的Composition API、Nuxt、Vuetify技术栈没有关系:

  • 直接写value="true"时,没有加v-bind绑定的属性,Vue会把引号内的内容当成字符串字面量处理,也就是说你传递给v-radio的value值是字符串"true",而非布尔值。如果你的v-model绑定的test变量预期接收布尔值,类型不匹配自然无法触发正常的赋值逻辑,功能就会失效。
  • 写:value="true"时,:是v-bind的简写,Vue会把引号内的内容当成JavaScript表达式解析,此时true就是标准的布尔真值,和v-model的预期类型匹配,功能就能正常运行。

这个规则是通用的,所有Vue组件的prop都遵守这个逻辑:只要你需要传递非字符串类型的值(布尔、数字、对象、数组、变量、表达式结果等),都必须使用v-bind绑定,否则都会被处理为字符串。你在表单绑定文档里没找到相关说明,是因为这属于v-bind的基础语法规则,不属于单选框特有的绑定逻辑。

举个简单的辅助例子:你给组件传disabled="false",组件实际收到的是字符串"false",非空字符串在布尔判断里属于真值,组件仍然会处于禁用状态,只有写成:disabled="false"才会传递布尔假值,实现你想要的不禁用效果,和你遇到的单选框问题本质是同一个逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:27:03