fix(group): 修复转让群主时成员选择器无法切换选项,仅能点击单个成员的问题
This commit is contained in:
parent
f40ed4d7fb
commit
e427047752
|
|
@ -146,10 +146,18 @@ class _GroupProfileMemberListState extends TIMUIKitState<GroupProfileMemberList>
|
||||||
child: CheckBoxButton(
|
child: CheckBoxButton(
|
||||||
onChanged: (isChecked) {
|
onChanged: (isChecked) {
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
|
// When single-select, directly replace the previous selection
|
||||||
|
if (widget.maxSelectNum != null && widget.maxSelectNum == 1) {
|
||||||
|
selectedMemberList
|
||||||
|
.removeWhere((element) => element.userID != memberInfo.userID);
|
||||||
|
// Ensure only the new member remains
|
||||||
|
selectedMemberList = [memberInfo];
|
||||||
|
} else {
|
||||||
if (widget.maxSelectNum != null && selectedMemberList.length >= widget.maxSelectNum!) {
|
if (widget.maxSelectNum != null && selectedMemberList.length >= widget.maxSelectNum!) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
selectedMemberList.add(memberInfo);
|
selectedMemberList.add(memberInfo);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
selectedMemberList.removeWhere((element) => element.userID == memberInfo.userID);
|
selectedMemberList.removeWhere((element) => element.userID == memberInfo.userID);
|
||||||
}
|
}
|
||||||
|
|
@ -211,15 +219,22 @@ class _GroupProfileMemberListState extends TIMUIKitState<GroupProfileMemberList>
|
||||||
widget.onTapMemberItem!(memberInfo, null);
|
widget.onTapMemberItem!(memberInfo, null);
|
||||||
}
|
}
|
||||||
if (widget.canSelectMember) {
|
if (widget.canSelectMember) {
|
||||||
final isChecked = selectedMemberList.contains(memberInfo);
|
final isChecked =
|
||||||
|
selectedMemberList.any((element) => element.userID == memberInfo.userID);
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
selectedMemberList.remove(memberInfo);
|
selectedMemberList
|
||||||
|
.removeWhere((element) => element.userID == memberInfo.userID);
|
||||||
|
} else {
|
||||||
|
// When single-select, directly replace the previous selection with the new one
|
||||||
|
if (widget.maxSelectNum != null && widget.maxSelectNum == 1) {
|
||||||
|
selectedMemberList = [memberInfo];
|
||||||
} else {
|
} else {
|
||||||
if (widget.maxSelectNum != null && selectedMemberList.length >= widget.maxSelectNum!) {
|
if (widget.maxSelectNum != null && selectedMemberList.length >= widget.maxSelectNum!) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
selectedMemberList.add(memberInfo);
|
selectedMemberList.add(memberInfo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (widget.onSelectedMemberChange != null) {
|
if (widget.onSelectedMemberChange != null) {
|
||||||
widget.onSelectedMemberChange!(selectedMemberList);
|
widget.onSelectedMemberChange!(selectedMemberList);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue