feat: sketch自动滚动到底部
This commit is contained in:
@@ -226,9 +226,9 @@
|
|||||||
...params,
|
...params,
|
||||||
// configParams: JSON.stringify(params.configParams)
|
// configParams: JSON.stringify(params.configParams)
|
||||||
configParams: JSON.stringify({
|
configParams: JSON.stringify({
|
||||||
type: params.configParams.type||'',
|
type: params.configParams.type || '',
|
||||||
region: params.configParams.region||'',
|
region: params.configParams.region || '',
|
||||||
style: params.configParams.style||'',
|
style: params.configParams.style || '',
|
||||||
temperature: params.configParams.temperature
|
temperature: params.configParams.temperature
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -236,7 +236,8 @@
|
|||||||
|
|
||||||
const response = await fetch(`${BASEURL}${chatUrl}?${urlParams.toString()}`, {
|
const response = await fetch(`${BASEURL}${chatUrl}?${urlParams.toString()}`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
signal: abortController.signal
|
signal: abortController.signal,
|
||||||
|
keepalive: true
|
||||||
})
|
})
|
||||||
|
|
||||||
// 检查响应内容类型,判断是否为流式响应
|
// 检查响应内容类型,判断是否为流式响应
|
||||||
@@ -680,7 +681,7 @@
|
|||||||
|
|
||||||
Object.entries(newData).forEach(([key, value]) => {
|
Object.entries(newData).forEach(([key, value]) => {
|
||||||
if (!existingKeys.has(key)) {
|
if (!existingKeys.has(key)) {
|
||||||
targetArr.unshift({ [key]: value })
|
targetArr.push({ [key]: value })
|
||||||
existingKeys.add(key)
|
existingKeys.add(key)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
|
ref="containerRef"
|
||||||
class="preview-container flex"
|
class="preview-container flex"
|
||||||
:class="type === 'sketch' ? 'sketch-preview' : 'report-preview'"
|
:class="type === 'sketch' ? 'sketch-preview' : 'report-preview'"
|
||||||
>
|
>
|
||||||
@@ -93,7 +94,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted, onUnmounted, watch, computed } from 'vue'
|
import { ref, reactive, onMounted, onUnmounted, watch, computed, nextTick } from 'vue'
|
||||||
import { deleteSketchFlowCanvas } from '@/api/flow-canvas'
|
import { deleteSketchFlowCanvas } from '@/api/flow-canvas'
|
||||||
import { useProjectStore } from '@/stores'
|
import { useProjectStore } from '@/stores'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
@@ -114,6 +115,7 @@
|
|||||||
|
|
||||||
// 存储每个图片的加载状态
|
// 存储每个图片的加载状态
|
||||||
const loadedStatus = ref<boolean[]>([])
|
const loadedStatus = ref<boolean[]>([])
|
||||||
|
const containerRef = ref<HTMLElement>()
|
||||||
|
|
||||||
const props = withDefaults(
|
const props = withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
@@ -131,7 +133,12 @@
|
|||||||
() => {
|
() => {
|
||||||
// 当 sketchList 变化时,重置加载状态
|
// 当 sketchList 变化时,重置加载状态
|
||||||
loadedStatus.value = new Array(combineSketchList.value.length).fill(false)
|
loadedStatus.value = new Array(combineSketchList.value.length).fill(false)
|
||||||
// pendingSketchIndexes.value = []
|
// 当 type 为 sketch 时,自动滚动到最底部
|
||||||
|
if (props.type === 'sketch') {
|
||||||
|
nextTick(() => {
|
||||||
|
containerRef.value?.scrollTo({ top: containerRef.value.scrollHeight, behavior: 'smooth' })
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user