用同一响应式变量绑定所有单选框可实现联动切换与内容展示:v-model 统一绑定 selectedType,各 radio 的 value 设不同值;通过 v-if/v-show 按变量值控制对应内容显隐;v-for 渲染时需用 item.value 作唯一 key;建议保留 name 属性以提升可访问性与表单语义。

用同一个响应式变量绑定所有单选框,就能自动实现联动切换和内容展示——选中一个,其余取消,对应内容也跟着变。
核心写法:v-model 绑定同一变量
所有 <input type="radio"> 共享一个 v-model,值设为不同字符串或数字:
- 定义响应式变量,比如
selectedType = ref('model')(setup)或data() { return { selectedType: 'model' } } - 每个 radio 的
v-model都指向它,value各不相同:<input type="radio" v-model="selectedType" value="model">型号<input type="radio" v-model="selectedType" value="color">颜色 - Vue 会自动比对
value和变量值,匹配的就选中,用户点击后变量实时更新
切换展示不同内容:用 v-if 或 v-show
根据变量值控制区块显隐,实现“点哪个、出哪个”效果:
审查 Vue 管理后台的变更请求(Vue 2 + Element UI,Vue 3 + Element Plus)。重点关注最小化变更实现、上线风险检查以及回归检查清单生成。
-
v-if="selectedType === 'model'"控制型号输入框显示 -
v-if="selectedType === 'color'"控制颜色选择器显示 - 多个条件可用
v-else-if和v-else连续判断 - 若需保留 DOM 仅切换可见性,改用
v-show(适合频繁切换)
动态渲染时注意 key 唯一性
如果单选项来自数组(如 v-for="item in options"),必须加 :key:
立即学习“前端免费学习笔记(深入)”;
- 推荐用
item.value作 key,确保唯一且稳定 - 避免用
index,否则数组增删可能导致状态错乱 - 保证
options是响应式数据,变化时 UI 自动同步
补充建议:name 属性与可访问性
虽然 Vue 3 中 v-model 已接管互斥逻辑,name 不是运行必需,但建议保留:
- 增强语义,便于表单提交识别分组
- 提升屏幕阅读器支持,符合无障碍标准
- 写法示例:
<input type="radio" v-model="selectedType" name="type" value="model">

















