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 v-html="formatMessage"></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">
<SvgIcon name="copy" size="16" color="#000" @click.stop="handleCopyText" />
</template>
@@ -82,6 +82,7 @@
const props = defineProps<{
content: Object
isLast: Boolean
}>()
const imageList = computed(() => {

View File

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