浏览 SDKs · WASM
平台
SDKsWASM

上报输入状态

使用 WASM SDK 上报当前用户的输入状态。

复制

当用户在输入框开始键入时,可传入 focus: true 上报“正在输入”状态;当消息发送成功、输入框失焦、用户切换会话或停止输入时,传入 focus: false 重置状态。输入状态按 conversationID 隔离,不会影响草稿或消息记录。

await openimsdk.changeInputStates({ conversationID, focus: true });
// 停止输入时:
await openimsdk.changeInputStates({ conversationID, focus: false });

建议对开始输入操作进行节流防抖处理,避免高频按键触发多余的网络请求。

本页集中提供 SdkEvent.OnConversationUserInputStatusChanged 事件的监听示例。收到事件后,可通过 conversationID 与 userID 定位聊天对象,并根据事件载荷中的 platformIDs 显示其正在输入的平台状态(如手机端或电脑端正在输入):

import { SdkEvent } from '@openim/wasm-client-sdk';

const handleInputStatusChanged = ({ data }) => {
  updateTypingState(data.conversationID, data.userID, data.platformIDs);
};

openimsdk.on(SdkEvent.OnConversationUserInputStatusChanged, handleInputStatusChanged);

function removeInputStatusListener() {
  openimsdk.off(SdkEvent.OnConversationUserInputStatusChanged, handleInputStatusChanged);
}