Skip to content

fix(Select): synchronously derive filtered options - #4389

Draft
RSS1102 wants to merge 4 commits into
developfrom
rss1102/select-filterable-sync-derived
Draft

fix(Select): synchronously derive filtered options#4389
RSS1102 wants to merge 4 commits into
developfrom
rss1102/select-filterable-sync-derived

Conversation

@RSS1102

@RSS1102 RSS1102 commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 组件样式/交互改进
  • 重构

🔗 相关 Issue

https://tdesign.tencent.com/react/components/select#可过滤的选择器

#4382

perf #4388

💡 需求背景和解决方案

Select 的 filterable 面板在选中选项时会立即清空筛选词,但浮层仍处于关闭动画中。原实现通过 effect 更新候选列表,因此可能先提交完整列表,再提交筛选结果,造成“完整列表 → 筛选列表”的短暂闪动。

本次修复将候选项标准化和本地过滤结果改为同步派生,保证同一次渲染使用最新的筛选列表;同时保留关闭动画期间的最后一份可见列表,避免清空关键词时提前显示全部选项。已选项映射仍基于完整候选数据,避免筛选或远程搜索后丢失已选标签。

📝 更新日志

tdesign-react

  • fix(Select): 修复 filterable 选择选项后关闭面板时短暂显示完整列表的问题
  • fix(Select): 修复 filterable 下中文输入法筛选选中后再次输入会残留上次筛选内容的问题

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

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

RSS1102 and others added 4 commits September 2, 2026 20:22
Input 在合成输入(composition)期间使用内部状态 composingValue 渲染,外部 value 被程序清空时该状态不会同步。Select 选中选项后会清空筛选词,但 composingValue 仍保留上一次的合成内容,导致再次聚焦进入合成态时,输入框回显旧内容并在其后累加新输入。

- fix(Input): 合成输入开始时以输入框当前内容为起点重置 composingValue
- test: 补充 Input 受控清空后再次合成输入、Select filterable 中文输入法筛选的回归测试

closes #4382
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 115 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-react-aigc/es/_chunks/dep-a956212b.js 92.6 kB
packages/tdesign-react-aigc/es/_util/reactify.js 3.89 kB
packages/tdesign-react-aigc/es/_util/useDynamicStyle.js 615 B
packages/tdesign-react-aigc/es/attachments/index.js 354 B
packages/tdesign-react-aigc/es/chat-actionbar/index.js 360 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/index.js 285 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/registry.js 1.01 kB
packages/tdesign-react-aigc/es/chat-engine/components/activity/render.js 1.62 kB
packages/tdesign-react-aigc/es/chat-engine/components/activity/types.js 106 B
packages/tdesign-react-aigc/es/chat-engine/components/index.js 490 B
packages/tdesign-react-aigc/es/chat-engine/components/provider/agent-state.js 556 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/index.js 422 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/registry.js 969 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/render.js 2.86 kB
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/types.js 208 B
packages/tdesign-react-aigc/es/chat-engine/hooks/index.js 434 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentActivity.js 841 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentState.js 1.29 kB
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentToolcall.js 851 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useChat.js 933 B
packages/tdesign-react-aigc/es/chat-engine/index.js 770 B
packages/tdesign-react-aigc/es/chat-filecard/index.js 354 B
packages/tdesign-react-aigc/es/chat-loading/index.js 360 B
packages/tdesign-react-aigc/es/chat-markdown/index.js 406 B
packages/tdesign-react-aigc/es/chat-message/index.js 367 B
packages/tdesign-react-aigc/es/chat-sender/index.js 359 B
packages/tdesign-react-aigc/es/chat-thinking/index.js 387 B
packages/tdesign-react-aigc/es/chatbot/index.js 426 B
packages/tdesign-react-aigc/es/index.js 998 B
packages/tdesign-react-aigc/es/style/index.js 146 B

compressed-size-action::tdesign-react-chat

@tdesign-bot

Copy link
Copy Markdown
Collaborator

TDesign Component Site Preview Open

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

@RSS1102
RSS1102 marked this pull request as draft September 3, 2026 12:28
@pkg-pr-new

pkg-pr-new Bot commented Sep 3, 2026

Copy link
Copy Markdown
  • tdesign-react-demo

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

commit: 99d6dc8

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Size Change: -153 B (-0.02%)

Total Size: 932 kB

📦 View Changed
Filename Size Change
packages/tdesign-react/dist/tdesign.js 514 kB -53 B (-0.01%)
packages/tdesign-react/dist/tdesign.min.js 300 kB -100 B (-0.03%)
ℹ️ View Unchanged
Filename Size
packages/tdesign-react/dist/reset.css 1.93 kB
packages/tdesign-react/dist/tdesign.css 61 kB
packages/tdesign-react/dist/tdesign.min.css 55.2 kB

compressed-size-action::tdesign-react

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