diff --git a/src/views/im/home/components/PagedScroller.vue b/src/views/im/home/components/PagedScroller.vue index f3561efe2..c970d48a3 100644 --- a/src/views/im/home/components/PagedScroller.vue +++ b/src/views/im/home/components/PagedScroller.vue @@ -5,7 +5,12 @@ - 通过 slot 暴露每一项,让调用方自己决定渲染 --> - +
(), { pageSize: 30, @@ -33,6 +39,15 @@ const props = withDefaults( } ) +/** 解析每条 item 的 :key:caller 传 itemKey 则按字段取,无效 / 缺失回退索引,避免传错字段时全表 undefined key */ +function resolveItemKey(item: T, idx: number): string | number { + if (!props.itemKey || item == null || typeof item !== 'object') { + return idx + } + const value = (item as Record)[props.itemKey] + return typeof value === 'string' || typeof value === 'number' ? value : idx +} + const scrollbarRef = useTemplateRef>('scrollbarRef') const page = ref(1) diff --git a/src/views/im/home/components/picker/GroupMemberPickerPanel.vue b/src/views/im/home/components/picker/GroupMemberPickerPanel.vue index e47511155..ecb948be2 100644 --- a/src/views/im/home/components/picker/GroupMemberPickerPanel.vue +++ b/src/views/im/home/components/picker/GroupMemberPickerPanel.vue @@ -21,7 +21,7 @@
- +