Skip to content

fix(TText): 修复显式 TextTheme 下的字号覆盖 - #1097

Open
RSS1102 wants to merge 1 commit into
developfrom
rss1102/fix/ttext-default-style
Open

RSS1102 wants to merge 1 commit into
developfrom
rss1102/fix/ttext-default-style

Conversation

@RSS1102

@RSS1102 RSS1102 commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

勾选规则:
1.只要有新增参数,就勾选”新特性提交“
2.只修改内部bug,未新增参数,才勾选”日常 bug 修复“
3.其他选项视具体改动判断

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • CI/CD 改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他

🔗 相关 Issue

无关联 Issue;该问题由 #1060 的 TCascader 对齐 Review 在检查共享文字解析时发现,本 PR 独立修复 TText 根因。

💡 需求背景和解决方案

调用方显式设置 Material TextTheme 后,Material 仍会为子树自动注入 bodyMediumDefaultTextStyle。原实现把该自动样式误判成调用方显式覆盖,导致 TText 已解析出的 TDesign bodyLarge 再次被 bodyMedium 压小。

本 PR 统一过滤与 Material TextTheme 相同的自动 DefaultTextStyle 及框架诊断 fallback,同时保留真正的局部 DefaultTextStyle 覆盖。公开 API 签名和主题优先级不变。全量扫描还发现 Popover 自定义内容写死的 146 高度无法容纳恢复后的正确行高,因此改为按内容自适应,并同步示例代码片段。

本修复先完整扫描集中式组件测试与 Flutter 3.32 Linux 全部 Golden,确认共享影响范围后再落地根因修复。首次扫描的 41 个视觉套件中有 37 个报告预期排版差异;逐项审查并更新 256 张受影响 Golden 后,41 个套件已全部严格比对通过。该范围较广,因此 PR 保持 pedding 标签,等待维护者结合视觉差异决定合入时机。

Spec:specs/027-ttext-default-style-resolution/

验证结果:

  • Flutter 3.32.0 与 latest:36 个登记组件回归全部通过,逐组件生产覆盖率均不低于 95%。
  • Flutter 3.32.0 与 latest:113 项非视觉示例测试全部通过。
  • Flutter 3.32.0 Linux:41 个视觉回归套件全部通过。
  • Flutter 3.32.0 与 latest:组件包及 example 的 flutter analyze 均为 0 error、0 warning。
  • TText、Theme、回归清单聚焦测试 50 项通过;Popover 聚焦功能测试 7 项通过;示例代码生成检查通过。

📝 更新日志

  • fix(TText): 修复显式 Material TextTheme 下自动 DefaultTextStyle 覆盖 TDesign 默认文字层级的问题

  • fix(TPopover): 修复自定义内容在 TText 正确行高下因固定高度产生的溢出

  • 本条 PR 不需要纳入 Changelog

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

⚠️ 请自检并全部勾选全部选项⚠️

  • 标题遵循 Conventional Commits 格式:type(<scope>?): 修改描述
    示例:fix(TBottomTabBar): 修复 iconText 模式底部溢出
  • “相关 Issue”处带上修复的 Issue 链接或无关联 Issue
  • 已添加对应的 Spec 链接,或已由 Review 确认本次改动无需 Spec
  • 相关文档已补充或无须补充

@RSS1102 RSS1102 added the pedding Pending further review or validation label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

完成

Web Demo

APK 下载

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pedding Pending further review or validation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant