Skip to content

[组件名称] t-indexes #4323

@YEGUQI

Description

@YEGUQI

[Bug] t-indexes 组件内部逻辑错误截取 index-list 字符,导致无法显示多位数字或中文字符

Framework

tdesign-miniprogram


Description

在使用 t-indexes 组件时,如果 index-list 传入的数组项为 超过一个字符的字符串(例如 ["10", "11", "12"]["分类一", "分类二"]),组件在内部逻辑或模板渲染阶段会 强制截取字符串的首个字符进行展示

这导致多位字符或中文字符串无法正常显示。


Actual Behavior

示例:

indexList: ["12", "13"]

页面右侧索引导航栏实际渲染为:

1
1

经过排查:

  • 该问题 并非 CSS 样式导致的遮挡
  • 而是组件 内部逻辑对字符串进行了截断处理
  • 导致多位字符信息丢失

Expected Behavior

组件应 完整渲染 index-list 中定义的字符串内容

侧边栏索引的宽度应:

  • 根据内容自动适配
  • 允许开发者通过样式控制

而不应在组件逻辑中 硬编码截取首字符


Impact

该缺陷会导致以下问题:

  1. 无法支持两位及以上的数字索引

    当分类数量超过 9 时,索引导航会重复显示 "1"

  2. 无法支持中文索引

    在业务报表等需要中文索引的场景(例如 "财务""销售")下组件无法正常使用。

  3. 破坏数据完整性

    开发者传入的索引标签被组件内部逻辑强行截断,导致数据表达错误。


Example

<t-indexes index-list="{{['10','11','12']}}">
</t-indexes>

实际显示:

1
1
1

预期显示:

10
11
12

Suggestion

建议组件:

  • 直接渲染 index-list 原始字符串
  • 移除内部对字符串首字符的截断逻辑
  • 允许通过样式或属性控制索引栏宽度

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions