Skip to main content
CometChatGroupMembers renders a scrollable list of members in a specific group with real-time updates, scope indicators (owner/admin/moderator/participant), search, and member management actions (kick, ban, change scope).

Where It Fits

CometChatGroupMembers is a list component that requires a Group object. It renders group members and supports actions like kick, ban, and scope change based on the logged-in user’s permissions.

Quick Start

Using Navigator:
Embedding as a widget:
Prerequisites: CometChat SDK initialized, a user logged in, and a valid Group object.

Filtering Members

Pass a GroupMembersRequestBuilder to control what loads:

Filter Recipes

RecipeBuilder property
Limit per page..limit = 20
Search by name..searchKeyword = "john"
Filter by scopes..scopes = ["admin", "moderator"]

Actions and Events

Callback Methods

onItemTap

Fires when a member row is tapped.

onItemLongPress

Fires when a member row is long-pressed. By default shows the member action menu (kick/ban/scope change).

onBack

Fires when the user presses the back button.

onSelection

Fires when members are selected/deselected in multi-select mode.

onError

Fires on internal errors.

onLoad

Fires when the list is successfully fetched.

onEmpty

Fires when the list is empty after loading.

Global Events

The component emits events via CometChatGroupEvents:

SDK Events (Real-Time, Automatic)

SDK ListenerInternal behavior
onGroupMemberJoinedAdds member to list
onGroupMemberLeftRemoves member from list
onGroupMemberKickedRemoves member from list
onGroupMemberBannedRemoves member from list
onGroupMemberScopeChangedUpdates member scope in list
onUserOnline / onUserOfflineUpdates presence via per-member ValueNotifier (isolated rebuild)
Connection reconnectedTriggers silent refresh

Functionality

PropertyTypeDefaultDescription
groupGrouprequiredThe group whose members to display
titleString?nullCustom app bar title
showBackButtonbooltrueToggle back button
hideAppbarbool?falseToggle app bar visibility
hideSearchboolfalseToggle search bar
usersStatusVisibilitybool?trueShow online/offline status
selectionModeSelectionMode?nullEnable selection mode
hideKickMemberOptionbool?falseHide kick option in action menu
hideBanMemberOptionbool?falseHide ban option in action menu
hideScopeChangeOptionbool?falseHide scope change option

Custom View Slots

Leading View

Title View

Subtitle View

Trailing View

List Item View

State Views



Advanced

BLoC Access

Provide a custom GroupMembersBloc:

Public BLoC Events

EventDescription
LoadGroupMembersLoad initial members
LoadMoreGroupMembersLoad next page (pagination)
SearchGroupMembers(keyword)Search members
KickMember(groupMember)Kick a member from the group
BanMember(groupMember)Ban a member from the group
ChangeMemberScope(groupMember, newScope)Change member’s scope
ToggleMemberSelection(uid)Toggle selection state
ClearMemberSelectionClear all selections
For ListBase override hooks (onItemAdded, onItemRemoved, onItemUpdated, onListCleared, onListReplaced), see BLoC & Data — ListBase Hooks.

Public BLoC Methods

MethodReturnsDescription
getStatusNotifier(uid)ValueNotifier<String>Per-member status notifier for isolated rebuilds

Permission-Based Actions

Member actions (kick, ban, scope change) are permission-aware based on the logged-in user’s scope:
Logged-in User ScopeCan KickCan BanCan Change Scope
OwnerAll membersAll membersAll members
AdminModerators, ParticipantsModerators, ParticipantsModerators, Participants
ModeratorParticipantsParticipantsNo
ParticipantNoNoNo

Style

Style Properties

PropertyDescription
avatarStyleAvatar appearance
statusIndicatorStyleOnline/offline indicator
changeScopeStyleScope change dialog style
confirmDialogStyleKick/ban confirmation dialog style

Next Steps

Groups

Browse available groups

Group Chat Guide

Complete group chat implementation

Component Styling

Detailed styling reference

Conversations

Browse recent conversations