{/* 渲染所有可用标签,选中的排在前面 */}
- {[...new Set([...selectedTags, ...allAvailableTags])].map(
- (tag, index) => {
- const isSelected = selectedTags.includes(tag);
- return (
-
handleTagToggle(tag)}
- >
- {tag}
-
- );
- },
- )}
+ {[...new Set([...selectedTags, ...allAvailableTags])].map(tag => {
+ const isSelected = selectedTags.includes(tag);
+ return (
+
handleTagToggle(tag)}
+ >
+ {tag}
+
+ );
+ })}
{/* 新增标签区域 */}
{isAddingTag ? (
@@ -917,29 +1034,7 @@ const Person: React.FC
= ({ contract }) => {
>
}
- onClick={async () => {
- try {
- const contractData = getContactsByCustomer(
- contract.wechatAccountId,
- );
- // 转换 Contact[] 为 FriendSelectionItem[]
- const friendSelectionData = (contractData || []).map(
- item => ({
- id: item.id || item.serverId,
- wechatId: item.wechatId,
- nickname: item.nickname,
- avatar: item.avatar || "",
- conRemark: item.conRemark,
- name: item.conRemark || item.nickname, // 用于搜索显示
- }),
- );
- setContractList(friendSelectionData);
- setIsFriendSelectionVisible(true);
- } catch (error) {
- console.error("获取联系人列表失败:", error);
- messageApi.error("获取联系人列表失败");
- }
- }}
+ onClick={addMember}
type="primary"
style={{
flex: 1,
@@ -1028,7 +1123,7 @@ const Person: React.FC = ({ contract }) => {
className={styles.groupMemberList}
style={{ maxHeight: "400px", overflowY: "auto" }}
>
- {currentGroupMembers.map((member, index) => (
+ {currentGroupMembers.map(member => (
= ({ contract }) => {
{/* 添加成员弹窗 */}
setIsFriendSelectionVisible(false)}
+ onCancel={() => {
+ setIsFriendSelectionVisible(false);
+ setCurrentContactPage(1); // 重置页码
+ }}
onConfirm={(selectedIds, selectedItems) => {
handleAddMember(
selectedIds.map(id => parseInt(id)),
selectedItems,
);
+ setCurrentContactPage(1); // 重置页码
}}
dataSource={contractList}
title="添加群成员"
+ onLoadMore={loadMoreContacts}
+ hasMore={true} // 强制设置为true,确保显示加载更多按钮
+ loading={isLoadingContacts}
/>
{/* 删除成员弹窗 */}