feat: 只有最新一条对话会有操作栏

This commit is contained in:
2026-03-03 14:51:37 +08:00
parent 93f208712f
commit 3d52ce66ff
2 changed files with 23 additions and 12 deletions

View File

@@ -22,7 +22,7 @@
<div class="message-txt markdown-body"> <div class="message-txt markdown-body">
<div v-html="formatMessage"></div> <div v-html="formatMessage"></div>
</div> </div>
<div class="operate flex" :class="{ 'is-user': content.isUser }"> <div class="operate flex" v-show="isLast" :class="{ 'is-user': content.isUser }">
<template v-if="content.isUser"> <template v-if="content.isUser">
<SvgIcon name="copy" size="16" color="#000" @click.stop="handleCopyText" /> <SvgIcon name="copy" size="16" color="#000" @click.stop="handleCopyText" />
</template> </template>
@@ -82,6 +82,7 @@
const props = defineProps<{ const props = defineProps<{
content: Object content: Object
isLast: Boolean
}>() }>()
const imageList = computed(() => { const imageList = computed(() => {

View File

@@ -1,6 +1,12 @@
<template> <template>
<div class="agent-list flex flex-col flex-1" ref="listContainer"> <div class="agent-list flex flex-col flex-1" ref="listContainer">
<Item v-for="message in messageList" :key="message.id" :content="message" @regenerate="$emit('regenerate', message)" /> <Item
v-for="(message, index) in messageList"
:key="message.id"
:content="message"
:is-last="index === messageList.length - 1"
@regenerate="$emit('regenerate', message)"
/>
</div> </div>
</template> </template>
@@ -24,9 +30,13 @@
}) })
} }
watch(() => props.messageList, () => { watch(
() => props.messageList,
() => {
scrollToBottom() scrollToBottom()
}, { deep: true }) },
{ deep: true }
)
defineExpose({ scrollToBottom }) defineExpose({ scrollToBottom })
</script> </script>