ChatSetting

最近更新时间:2025-09-12 18:14:53

我的收藏

组件概述

ChatSetting 是一个聊天设置组件,它能根据当前激活的会话类型(单聊或群聊)自动渲染对应的设置界面。该组件通过统一的入口,无缝集成了 C2C(单聊) 和群聊两种模式的设置功能,为用户提供了流畅且一致的操作体验。
核心功能:
智能适配: 自动识别会话类型,并切换至相应的设置面板。
状态驱动: 基于当前会话状态,动态更新设置内容。
注意:
如果当前没有激活的会话则不会显示。

快速使用

import {
UIKitProvider,
useLoginState,
LoginStatus,
ConversationList,
Chat,
ChatHeader,
MessageList,
MessageInput,
useUIOpenControlState,
ChatSetting,
Search,
VariantType,
ContactList,
ContactInfo,
} from "@tencentcloud/chat-uikit-react";
import { useState } from "react";

function App() {
const { isChatSettingOpen, isChatSearchOpen } = useUIOpenControlState();
const [activeTab, setActiveTab] = useState('chats');

// 从控制台获取登录信息
const { status } = useLoginState({
SDKAppID: 0,
userID: '',
userSig: '',
})

if (status !== LoginStatus.SUCCESS) {
return <div>Loading...</div>
}
// 语言支持 en-US(default) / zh-CN / ja-JP / ko-KR / zh-TW
// 主题支持 light(default) / dark
return (
<UIKitProvider>
<div style={{ height: '100vh', width: '100vw', display: 'flex', flexDirection: 'row' }}>
<ul>
<li onClick={() => {setActiveTab('chats')}}>chats</li>
<li onClick={() => {setActiveTab('contacts')}}>contact</li>
</ul>
{
activeTab === 'chats' && (
<>
<ConversationList style={{ minWidth: '300px', maxWidth: '350px' }}/>
<Chat PlaceholderEmpty="No messages yet">
<ChatHeader />
<MessageList />
<MessageInput />
</Chat>
{isChatSettingOpen && <ChatSetting />}
{isChatSearchOpen && <Search style={{ minWidth: '300px'}} variant={VariantType.EMBEDDED} />}
</>
)
}
{
activeTab === 'contacts' && (
<>
<ContactList style={{ minWidth: '300px', maxWidth: '350px' }}/>
<ContactInfo
PlaceholderEmpty="No contact yet"
onSendMessage={() => {setActiveTab('chats')}}
onEnterGroup={() => {setActiveTab('chats')}}
/>
</>
)
}
</div>
</UIKitProvider>
);
}

export default App;

相关文档

官方文档
NPM 包
GitHub

交流与反馈

如遇任何问题,可联系 官网售后 反馈,享有专业工程师的支持,解决您的难题。