tdesign-common
tdesign-common copied to clipboard
fix(cascader): incorrect checked behavior when childNode is disabled
🤔 这个 PR 的性质是?
- [x] 日常 bug 修复
- [ ] 新特性提交
- [ ] 文档改进
- [ ] 演示代码改进
- [ ] 组件样式/交互改进
- [ ] CI/CD 改进
- [ ] 重构
- [ ] 代码风格优化
- [ ] 测试用例
- [ ] 分支合并
- [ ] 其他
🔗 相关 Issue
原issue: https://github.com/Tencent/tdesign-vue/issues/3579
💡 需求背景和解决方案
问题根源是
当前在判断节点选中状态(isChecked)时,没有过滤掉disabled的子节点,导致状态计算不准确。
当子节点状态为disabled时,这里isChecked没有完全隔离disabled的节点,导致父节点始终被判定为checked状态,使得resValue(被选中的项)运算结果不正确
📝 更新日志
具体改动:
- 在计算父节点选中状态时,增加对子节点disabled状态的过滤;
- 保证禁用节点的状态不会被用户操作意外改变
- [ ] 本条 PR 不需要纳入 Changelog
☑️ 请求合并前的自查清单
⚠️ 请自检并全部勾选全部选项。⚠️
- [ ] 文档已补充或无须补充
- [ ] 代码演示已提供或无须提供
- [ ] TypeScript 定义已补充或无须补充
- [ ] Changelog 已提供或无须提供