mirror of
https://github.com/Chanzhaoyu/chatgpt-web.git
synced 2025-07-29 01:43:44 +00:00

* feat: locale language * refactor: 页面暂存 * feat: 逻辑判断 * feat: 分组消息 * feat: 实验场 * feat: 重新请求结果 * feat: 基础问答逻辑和重新询问 * feat: 上下文消息删除确认 * feat: 处理类型报错 * chore: 更新 deps 和移除 i18n * feat: 路由页面切换终止请求 * feat: let me think * feat: 信息更新代码高亮匹配 * feat: 加载时添加光标 * feat: 错误提示 * feat: 历史记录删除确认 * fix: 侧边栏高度不正确的问题 * chore: version 2.5.0 * chore: update deps
33 lines
680 B
TypeScript
33 lines
680 B
TypeScript
import type { Ref } from 'vue'
|
|
import { nextTick, ref } from 'vue'
|
|
|
|
type ScrollElement = HTMLDivElement | null
|
|
|
|
interface ScrollReturn {
|
|
scrollRef: Ref<ScrollElement>
|
|
scrollToBottom: () => Promise<void>
|
|
scrollToTop: () => Promise<void>
|
|
}
|
|
|
|
export function useScroll(): ScrollReturn {
|
|
const scrollRef = ref<ScrollElement>(null)
|
|
|
|
const scrollToBottom = async () => {
|
|
await nextTick()
|
|
if (scrollRef.value)
|
|
scrollRef.value.scrollTop = scrollRef.value.scrollHeight
|
|
}
|
|
|
|
const scrollToTop = async () => {
|
|
await nextTick()
|
|
if (scrollRef.value)
|
|
scrollRef.value.scrollTop = 0
|
|
}
|
|
|
|
return {
|
|
scrollRef,
|
|
scrollToBottom,
|
|
scrollToTop,
|
|
}
|
|
}
|