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>
@@ -9,8 +15,8 @@
import Item from './Item.vue' import Item from './Item.vue'
const props = defineProps<{ const props = defineProps<{
messageList: Array<any> messageList: Array<any>
}>() }>()
const emit = defineEmits(['regenerate']) const emit = defineEmits(['regenerate'])
@@ -24,9 +30,13 @@
}) })
} }
watch(() => props.messageList, () => { watch(
scrollToBottom() () => props.messageList,
}, { deep: true }) () => {
scrollToBottom()
},
{ deep: true }
)
defineExpose({ scrollToBottom }) defineExpose({ scrollToBottom })
</script> </script>
@@ -34,10 +44,10 @@
<style lang="less" scoped> <style lang="less" scoped>
.agent-list { .agent-list {
row-gap: 3.2rem; row-gap: 3.2rem;
overflow-y: auto; overflow-y: auto;
// 隐藏滚动条 // 隐藏滚动条
&::-webkit-scrollbar { &::-webkit-scrollbar {
display: none; display: none;
} }
} }
</style> </style>