事件监听

更新时间: 2023/07/21 06:56:02

IM UIKit 通讯录模块(nim_contactkit_ui)通过自定义配置的形式提供时间配置。您可以通过全局配置参数实现自己的点击事件逻辑。

全局配置参数说明

通过ContactUIConfig进行事件配置,设置通讯录界面的点击事件。

  • 方法说明

    方法名称
    方法说明 参数说明
    topEntranceClick 通讯录界面相关功能模块的点击事件 topEntranceClick的参数如下:
    • data:通讯录 Item 数据,类型为TopListItem,代表 相关功能模块 的数据。TopListItem详情参见下文的TopListItem 说明
    • position:被点击的通讯录 Item 在列表中的位置
    contactItemClick 通讯录界面好友的点击事件 contactItemClick的参数如下:
    • data:通讯录 Item 数据,类型为ContactInfo,代表 好友列表 的好友数据。ContactInfo详情参见下文的ContactInfo 说明
    • position:被点击的通讯录 Item 在列表中的位置
    contactItemSelect 通讯录界面好友的选择事件 contactItemSelect的参数如下:
    • data:通讯录 Item 数据,类型为ContactInfo,代表 好友列表 的好友数据。ContactInfo详情参见下文的ContactInfo 说明
    • select:被点击的通讯录 Item 的选择状态

通讯录界面2.PNG

  • TopListItem 说明

    • TopListItem为通讯录数据相关功能模块实体类,其成员参数见下表。

      参数
      类型 说明
      icon Widget 图标资源 Widget
      tips String 新消息的未读数
      onTap Function() Item 的点击处理
      name String 显示文案
  • ContactInfo 说明

    • ContactInfo为通讯录好友数据实体类,其成员参数见下表。

      参数
      类型 说明
      user NIMUser 好友信息
      friend NIMFriend 好友信息(用于获取昵称)
      isInBlack bool 是否在黑名单中

topEntranceClickcontactItemClick返回值表示是否已经处理该事件:返回true会覆盖默认事件的处理,返回false则不会覆盖。

示例代码

dart// 设置ContactKit全局配置
ContactKitClient.instance.contactUIConfig = ContactUIConfig(
  topEntranceClick: (position, data) {
    // 设置通讯录头部验证消息、黑名单和我的群聊的点击事件
    return true;
  },
  contactItemClick: (position, data) {
    // 设置通讯录好友点击事件
    return false;
  },
  contactItemSelect: (isSelect, data) {
    // 设置通讯录好友选择事件(通讯录列表 isCanSelectMemberItem 字段为true时有效,默认false)
  },
);
此文档是否对你有帮助?
有帮助
去反馈
  • 全局配置参数说明
  • 示例代码