Skip to content

breaking(TIndexes): 收敛索引设计与交互契约 - #1081

Open
RSS1102 wants to merge 4 commits into
developfrom
rss1102/breaking/indexes-design-alignment
Open

breaking(TIndexes): 收敛索引设计与交互契约#1081
RSS1102 wants to merge 4 commits into
developfrom
rss1102/breaking/indexes-design-alignment

Conversation

@RSS1102

@RSS1102 RSS1102 commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

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

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

🔗 相关 Issue

关联 #1027 中“导航 / Indexes 索引”组件任务。

💡 需求背景和解决方案

现有 Indexes 的活动索引与初始滚动位置不同步,行为配置同时存在于组件实例和 Theme,侧栏、提示及锚点样式也未形成完整的可定制视觉契约。

  • 新增 initialIndex,首次创建时同步活动索引与滚动位置;后续活动状态仍由滚动位置派生。
  • stickystickyOffsetcapsuleThemereverse 收敛为组件实例的非空行为默认值,Theme 仅保留尺寸、颜色和字体等视觉配置。
  • 索引值增加唯一性约束;侧栏调整为 20dp 项高、2dp 间距、8dp 右距,并补齐 300ms 提示消退、长文本上限和逐项语义操作。
  • 公开 Demo 优先对齐新版 Figma,拆分为“字母索引 / 数字索引 / 胶囊索引”三项;交互模式仍以小程序 develop Demo 为参考。小程序当前仅有“基础用法 / 胶囊索引”,缺少 Figma 单列的普通数字索引,已在 Spec 记录此跨端差异。
  • Spec:Indexes 设计与交互契约
字母索引 数字索引 胶囊索引(暗色)
Indexes letter Indexes number Indexes capsule dark

本地验证:Flutter 3.32.0 / latest 的组件 62 项与 Demo 5 项通过;Flutter 3.32.0 Linux 的 8 张 Indexes Demo + 2 张共享导航矩阵明暗严格 Golden 通过并逐张人工复核;双版本组件包与 Example 严格 analyze 零诊断;生产覆盖率 667/699 = 95.42%;Web release 与正常入口 APK 构建通过;Android 16 真机人工操作及集成测试 1/1 通过,APK 已经 ADB 持久安装并由 Launcher 启动。

📝 更新日志

  • breaking(TIndexes): 将吸顶、滚动方向和胶囊模式收敛为组件实例默认行为,移除 Theme 中的同义状态入口

  • feat(TIndexes): 新增 initialIndex 初始定位能力,并补齐侧栏、提示和锚点视觉主题配置

  • breaking(TIndexes): 调整侧栏、按压提示与锚点的默认尺寸、字体、颜色和间距

  • 本条 PR 不需要纳入 Changelog

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

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

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

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

完成

Web Demo

APK 下载

@RSS1102 RSS1102 mentioned this pull request Sep 5, 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.

1 participant