HarmonyOS

最近更新时间:2025-11-17 11:28:42

我的收藏

组件概述

ConversationList 是一个基于 ArkUI 构建的会话列表组件,主要用于展示和管理用户的聊天会话。该组件提供了完整的会话列表功能,包括会话展示、交互操作等核心能力。
会话列表
会话操作



组件集成

ConversationList 是属于 TUIKit ArkUI 的一个组件,集成 TUIKit ArkUI 即可获取并使用 ConversationList,集成方法请参考文档 TUIKit ArkUI 里的集成步骤。

组件构成

ConversationList 组件对外仅暴露了会话列表的初始化方法,其他逻辑均封装在 ConversationList 中。

对外方法

方法名
参数
描述
ConversationList
config?: ConversationListConfigProtocol;
设置默认显示的操作选项。
customActions?: ConversationCustomAction[];
设置自定义会话操作选项。
onConversationClick?: (item: ConversationInfo) => void;
设置会话点击回调。

基础用法

ConversationList 组件可直接初始化使用,需要传入 onConversationClick 回调。
参数名
类型
描述
onConversationClick
(item: ConversationInfo) => void
会话点击回调,当用户点击某个会话 cell 时触发
示例代码如下:
Row {
ConversationList({
onConversationClick: (item: ConversationInfo) => {
// 这里建议导航到聊天页面
}
})
}

自定义组件

您可以自定义会话列表的操作项。方法如下。

方式 1. 局部隐藏会话操作项

初始化 ConversationList 时设置 actions,表示当前在会话列表 cell 上展示哪些操作项:
Row {
ConversationList({
config: new ChatConversationActionConfig({
isSupportDelete:false,
isSupportPin: false, // Disable pin action in more menu
isSupportClearHistory:false
}),
})
}
目前支持的菜单项开关操作
操作类型
描述
isSupportDelete
是否支持删除会话
isSupportPin
是否支持置顶会话
isSupportClearHistory
是否支持清空历史消息


方式 2. 局部增加会话操作项

初始化 ConversationList 时传入 customActions,ConversationList 内部会在默认的 action 底部添加您增加的自定义选项:
参数名
类型
描述
customActions
ConversationCustomAction[]
自定义会话操作,当用户点击会话操作菜单时展示
示例代码如下:
Row {
ConversationList({
customActions: [{
title: '分享',
iconName: $rawfile('icon.svg'),
action: (conversation: ConversationInfo) => {
// 处理分享点击事件
}
},
],
})
}

方式 3. 全局配置操作项

通过 AppBuilderConfig 进行全局配置:
// 在应用启动时配置
AppBuilderConfig.getInstance().conversationActionList = [
ConversationAction.DELETE, //删除会话
ConversationAction.PIN, //置顶会话
ConversationAction.CLEAR_HISTORY //清楚历史消息
];
// 接下来再初始化 ConversationList,所有的 ConversationList 都会遵守上面的配置
ConversationList({
onConversationClick: (item: ConversationInfo) => {
// 这里可以导航到聊天页面
}
})


注意:
局部配置的优先级大于全局配置。
自定义效果如下图所示:
会话操作(默认选项)
会话操作(隐藏 Delete 选项)
会话操作(新增 Share 选项)