fix(web): el-radio 改用 2.5.5 的 label API —— 全项目单选组失效(点一个全亮)

为什么:项目锁 element-plus 2.5.5,而 2.5.5 的 el-radio 只有 `label` 属性(`value` 是 2.6.0+ 才引入的替代 API)。
源码可证:node_modules/.pnpm/element-plus@2.5.5_vue@3.4.15/.../radio/src/radio.mjs 的 radioPropsBase 只有
label,没有 value。所以 `<el-radio value="X">` 的 value 是无效 attribute,radio 的 label 全是默认空串:
点任意一个 → 模型被设成 "" → 所有 radio 的 label 都是 "" → 全部显示选中(用户看到"点个人、公司也选上了")。
初始值非空时没有匹配项,所以一开始一个都不选中,一点就全亮。

- 全项目 14 处 el-radio(6 个文件)统一把 value= 改成 :label=(值与显示文本不同时用 slot 承载文本)
  覆盖:创作者类型 / 创作者审核 / 内容审核 / 权益类型 / App 用户处置 / 举报处理 / 菜单类型
- 不升级 element-plus(会影响整个后台组件行为,需单独评估)

实测:7 个单选组逐个点选,均"只有被点的那个选中";创作者类型额外验落库值
(选个人 → INDIVIDUAL,选机构 → COMPANY)。
This commit is contained in:
Vicky committed 2026-10-15 16:44:22 +08:00
1 parent 4509323ba8
commit 2fa1416c3e
6 files changed
+14 -14

No files matched your search

+3 -3
View File
@@ -247,9 +247,9 @@ const {
</el-form-item>
<el-form-item label="审核动作">
<el-radio-group v-model="auditForm.action">
<el-radio value="APPROVE">通过</el-radio>
<el-radio label="APPROVE">通过</el-radio>
<!-- 驳回只对「待审核」开放(与后端 requireState 一致);已驳回/已冻结的行重新审核时只能「通过」 -->
<el-radio v-if="auditTarget?.status === 'pending'" value="REJECT">驳回</el-radio>
<el-radio v-if="auditTarget?.status === 'pending'" label="REJECT">驳回</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="auditForm.action === 'REJECT'" label="驳回原因码">
@@ -282,7 +282,7 @@ const {
</el-form-item>
<el-form-item label="类型">
<el-radio-group v-model="createForm.type">
<el-radio v-for="item in CREATOR_TYPE" :key="item.value" :value="item.value">{{
<el-radio v-for="item in CREATOR_TYPE" :key="item.value" :label="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
+2 -2
View File
@@ -165,8 +165,8 @@ const {
</el-form-item>
<el-form-item label="审核结果">
<el-radio-group v-model="auditForm.action">
<el-radio value="APPROVE">通过</el-radio>
<el-radio value="REJECT">驳回</el-radio>
<el-radio label="APPROVE">通过</el-radio>
<el-radio label="REJECT">驳回</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="auditForm.action === 'REJECT'" label="驳回原因码">