fix(model-pricing): 修复模型定价列表项无法删除 (#5623) - #5628
Conversation
删除时已从草稿中移除模型,但列表为 saved∪draft 并集且优先取 saved, 导致行不消失(isDraftDeleted 计算后未被使用),表现为无法删除。改为过滤 掉已暂存删除的行;并在删除当前正在编辑的行时关闭编辑器,避免从残留面板 保存又把模型写回。
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughIn ChangesModel Deletion Fix
Estimated code review effort🎯 2 (Simple) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
删除时已从草稿中移除模型,但列表为 saved∪draft 并集且优先取 saved, 导致行不消失(isDraftDeleted 计算后未被使用),表现为无法删除。改为过滤 掉已暂存删除的行;并在删除当前正在编辑的行时关闭编辑器,避免从残留面板 保存又把模型写回。
删除时已从草稿中移除模型,但列表为 saved∪draft 并集且优先取 saved, 导致行不消失(isDraftDeleted 计算后未被使用),表现为无法删除。改为过滤 掉已暂存删除的行;并在删除当前正在编辑的行时关闭编辑器,避免从残留面板 保存又把模型写回。
删除时已从草稿中移除模型,但列表为 saved∪draft 并集且优先取 saved, 导致行不消失(isDraftDeleted 计算后未被使用),表现为无法删除。改为过滤 掉已暂存删除的行;并在删除当前正在编辑的行时关闭编辑器,避免从残留面板 保存又把模型写回。
📝 变更描述 / Description
新版 UI「系统设置 → 模型定价」可视化编辑器中,点击列表项的删除按钮后该行不会消失,表现为「无法删除」。
根因:删除时
handleDelete已把模型从草稿(draft)map 中移除,但列表数据models是saved ∪ draft的并集,且行内容优先取displayed = saved ?? draft。删除后 draft 没了、saved 仍在,行依旧用 saved 数据渲染;代码已算出isDraftDeleted标记,但渲染处从未使用它,所以列表毫无变化。修复:
models中过滤掉已暂存删除(isDraftDeleted)的行,删除后该行立即从列表消失,计数 / 空状态同步更新,并随保存持久化。🚀 变更类型 / Type of change
🔗 关联任务 / Related Issue
✅ 提交前检查项 / Checklist
📸 运行证明 / Proof of Work
代码逻辑核对:删除将模型从草稿 map 移除并触发
onChange更新表单字段;过滤isDraftDeleted后该行从列表移除;保存时整段 JSON 草稿被持久化,删除生效。修复后:

Summary by CodeRabbit