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);
}这个页面有帮助吗?