Skip to content

使用useXChat时为bubble设置loading #832

@wzc520pyfm

Description

@wzc520pyfm

重现步骤

在线示例链接:(必填)

在使用流式返回时,目前无法像useXChat 基本示例那样为bubble设置loading,复现如下:
useXChat流式返回demo, bubble 会一直loading,直到内容全部返回。其原因是useXChat在onUpdate时,设置status为loading,在流返回期间也许保持loading从逻辑上是正确的(毕竟内容仍在不断请求加载),但也导致设置bubble loading变得不那么容易(见绕过方式),是否可以为useXChat status添加一个状态,例如updating,传入onUpdate,用来表示消息正在更新?

当前行为

useXChat使用流式返回时,期望可以通过status设置bubble loading,使其在请求等待期间为loading,在获取到信息时结束loading开始输出,目前status会在内容全部返回前始终为loading。

预期行为

useXChat添加一个status,例如 updating, 用来表示消息正在更新, 这样就可以在流式返回时利用status设置bubble loading:

<Bubble.List
        roles={roles}
        style={{ maxHeight: 300 }}
        items={messages.map(({ id, message, status }) => ({
          key: id,
          // 设置loading
          // 期望onUpdate 时,status为updating,即可结束loading
          loading: status === 'loading',
          role: status === 'local' ? 'local' : 'ai',
          content: message,
        }))}
      />

上下文

No response

版本

1.2.0

您在哪些浏览器上遇到了这个问题?

Chrome

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions