TaskList 任务列表
用于展示任务列表的组件,支持折叠/展开、加载状态和不同的任务状态。
代码演示
API
TaskList (TaskListProps)
类型名变更:Props 类型已从
ThoughtChainProps重命名为TaskListProps。旧类型名仍可使用但已标记 deprecated。
TaskItem
Simple 模式与摘要状态
variant="simple" 将列表收成摘要条 + 可展开详情:
-
收起(默认
open=false):详情区只展示最后一项任务(产品预期);要看全部步骤请点击摘要条展开,或传入open={true}/ 使用variant="default"。 -
展开:展示全部
items(含error项;单步工具失败时仍可查看完整步骤)。 -
摘要文案优先级(由高到低):
- 全部 item 为
success→ 「任务完成」(或taskCompleteText);不因loading={true}滞留为进行中。 - 存在
status: 'loading'或pending的 item → 「正在进行${title}任务」。 loading={true}或仅有pending→ 「正在进行任务」。
存在
error的 item 不参与摘要完成判定;当其余 item 均为success时摘要仍显示完成态,不在摘要条展示「任务已取消」。展开详情时仍可查看error步骤。 - 全部 item 为
工具调用时间线若需逐步 API 展示,可优先考虑 ToolUseBar;继续用 TaskList simple 时请接受收起时仅显示最后一步,并保证流式结束后 loading={false}、item status 与内容字段正确。
自定义任务完成文案示例
taskCompleteText 仅在 variant="simple" 摘要条上生效,未配置时回退到 i18n 默认值(如「任务完成」)。
支持直接传入 React.ReactNode(字符串 / JSX),也支持传入函数 ({ items }) => ReactNode 基于当前任务列表动态生成。
受控模式示例
样式定制
组件使用了以下的样式变量,可以通过 CSS-in-JS 进行样式定制:
