Skip to content

fix: 修复组件切换为禁用态后弹出层仍可交互的问题 - #4468

Open
Xapollon430 wants to merge 4 commits into
Tencent:developfrom
Xapollon430:codex/select-ignore-disabled-options
Open

Xapollon430 wants to merge 4 commits into
Tencent:developfrom
Xapollon430:codex/select-ignore-disabled-options

Conversation

@Xapollon430

@Xapollon430 Xapollon430 commented Nov 9, 2026 •

Copy link
Copy Markdown

🤔 这个 PR 的性质是?

  • 日常 bug 修复

💡 需求背景和解决方案

弹出层已经打开时,如果组件切换为禁用态,用户仍可能通过弹出层修改值或触发回调。以 Select 为例:选中 Apple 后打开下拉列表,在列表仍打开时将 disabled 设为 true,再点击 Orange。修复前,选中值会变为 Orange,并触发 onChange。多选模式下,“全选”也会修改选中值。

本 PR 在选项选择、全选及菜单点击等交互入口检查当前禁用状态,并补齐相关组件在禁用时关闭弹出层、阻止再次打开的逻辑。公开 API 保持不变。

查看 Select 的浏览器复现视频

验证

  • 补充 Select 单选、多选全选和 Dropdown 菜单点击的回归测试。
  • 使用官方样式在浏览器中验证 Select:禁用后点击其他选项,选中值仍为 Apple,且不触发 onChange。

📝 更新日志

tdesign-react

  • fix(SelectInput): 修复弹窗打开后切换为禁用态时未自动关闭,且仍可选择选项的问题
  • fix(DatePicker): 修复弹窗打开后切换为禁用态时未自动关闭,且仍可选择日期的问题
  • fix(Dropdown): 修复弹窗打开后切换为禁用态时未自动关闭,且仍可点击菜单的问题

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

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

本 PR 的实现与测试使用了 AI 辅助。

@tdesign-bot

tdesign-bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

TDesign Component Site Preview Open

Component Preview
tdesign-react 完成
@tdesign-react/chat 完成

@pkg-pr-new

pkg-pr-new Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
  • tdesign-react-demo

    npm i https://pkg.pr.new/tdesign-react@4468
    
    npm i https://pkg.pr.new/@tdesign-react/chat@4468
    

commit: 2902e9a

@RylanBot
RylanBot force-pushed the codex/select-ignore-disabled-options branch from 21064a6 to f0640a9 Compare November 9, 2026 04:47
Block opening while disabled or read-only, and still allow
an open popup to close when disabled turns on.
A disabled picker or dropdown no longer changes its value from a click.
@RylanBot
RylanBot force-pushed the codex/select-ignore-disabled-options branch from 2902e9a to 38ad5e6 Compare November 11, 2026 10:00
@Xapollon430 Xapollon430 changed the title fix(Select): ignore selection while disabled fix: 修复组件切换为禁用态后弹出层仍可交互的问题 Nov 11, 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.

3 participants