自适应卡片会自动重新排序有序列表,而文本的顺序保持不变
场景
我在一个自适应卡片中有一个描述字段,里面包含多项要点并且手动编号(例如1、2、3…)。内容通过一个可操作消息发送。
然而,如果编号被故意或无意地打乱(例如1、3、2),渲染后的自适应卡片会自动重新排序仅数字部分(1、2、3),而实际文本内容仍保持原始的(错误)顺序。
这会导致编号和相应文本之间不匹配。
示例
输入文本:
1. First point
3. Third point
2. Second point
渲染输出:
1. First point
2. Third point
3. Second point
如你所见:
- 数字会自动重新排序
- 文本内容不会相应地重新排序
附加信息
- 此问题在以下环境中可重现:
- Microsoft Teams(可操作消息 / 自适应卡片)
- 自适应卡片设计器
- 编号是纯文本的一部分(不是结构化列表组件)
预期行为
编号应完全按输入文本给出的顺序保持。
实际行为
渲染器在保持文本不变的情况下,自动对编号进行规范化/重新排序。
自适应卡片JSON(简化版)
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"text": "1. First point\n3. Third point\n2. Second point",
"wrap": true
}
],
"version": "1.6"
}
解决方案
自适应卡片使用的是Markdown语言的子集,你看到的其实是有序列表的标准Markdown规则。例如,请参阅 https://www.markdownguide.org/basic-syntax/#ordered-lists。它确实指出“数字不必按数字顺序排列”。请参阅链接部分表格中的第三个示例——它正好展示了与你的行为完全一致的情况。
根据你创建自适应卡片的方式,或许可以在渲染前对项进行排序。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。