Skip to content

fix(TreeSelect): clear rendered columns when options become empty - #4672

Closed
dvd233 wants to merge 1 commit into
Tencent:developfrom
dvd233:codex/fix-tree-select-empty-options
Closed

dvd233 wants to merge 1 commit into
Tencent:developfrom
dvd233:codex/fix-tree-select-empty-options

Conversation

@dvd233

@dvd233 dvd233 commented Oct 9, 2026

Copy link
Copy Markdown

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 测试用例

🔗 相关 Issue

源码排查发现的问题,无关联 Issue。

💡 需求背景和解决方案

TreeSelect 已显示选项后,将 options 清空为 [],两端的 buildTreeOptions() 都会直接返回,原有父列和子列因此继续显示。

在空选项分支中清空渲染用的 treeOptions。保留选中值,不触发选择事件;选项重新传入后仍按原有选择构建列。没有改变非空选项处理或 API。

验证:

  • 官方 miniprogram-simulate / Jest:聚焦 TreeSelect 与 uniapp common,4 suites、14 tests、3 snapshots 通过。新增 8 项回归的原始源码基线为 5 失败、3 对照通过,覆盖单选、多选、customValue、defaultValue、字段别名、初始空值、异步填充和清空后恢复。
  • Windows 测试使用同一官方 WCC,通过响应文件传入全部原始参数;未替换编译器或弱化断言。
  • TreeSelect 与 9 个真实子 SFC 的浏览器 fixture:修复前 6 失败、3 对照通过,修复后 9/9 通过,无页面异常或 Vue warning。使用官方 H5/Vue3 条件预处理,适配设备元信息、浏览器基础标签和 rpx 单位;不代表完整 uni-app 发布页或微信真机验证。
  • 修改文件 ESLint 0 errors(3 条原有 _trigger warning)、Prettier 和 diff 检查通过。生产模式 npm run build:dist 与原生 uniapp release:prepare 完成且无构建错误;后者为源码分发准备及 LESS 编译,未运行完整 H5/微信应用构建。

Browser component fixture (synthetic data, options=[]):

Before After
Stale columns before fix No columns after fix

📝 更新日志

tdesign-miniprogram

  • fix(TreeSelect): 修复 options 清空后仍显示旧选项列的问题。

@tdesign/uniapp

  • fix(TreeSelect): 修复 options 清空后仍显示旧选项列的问题。

☑️ 请求合并前的自查清单

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

@anlyyao

anlyyao commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

@dvd233 #4670 #4671 #4672 属于同一个组件的问题修复,建议合到一个pr,按 commit 区分修复点

@dvd233

dvd233 commented Oct 15, 2026

Copy link
Copy Markdown
Author

谢谢建议,已整合到 #4670,并按三个独立提交区分修复点:cd2e482(零值路径选择)、3479dc6(uniapp 外部值同步)、7644e17(空选项清理)。组合后的 41 项单测、3 个快照及 41 个浏览器组件场景均通过,包含空选项期间更新零值/空字符串路径再恢复的交互覆盖。#4670 正文已同步验证范围和限制;关闭 #4671、本 PR 以集中评审,保留原分支。

@dvd233 dvd233 closed this Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants