【优化】mall 客服触顶自动加载下一页数据

This commit is contained in:
puhui999 2024-07-10 15:53:48 +08:00
parent fa0892980d
commit 993d070560

View File

@ -2,14 +2,6 @@
<el-container v-if="showKeFuMessageList" class="kefu">
<el-header>
<div class="kefu-title">{{ conversation.userNickname }}</div>
<!-- 加载历史消息 -->
<div
v-show="loadingMore"
class="loadingMore flex justify-center items-center cursor-pointer"
@click="handleOldMessage"
>
加载更多
</div>
</el-header>
<el-main class="kefu-content overflow-visible">
<el-scrollbar ref="scrollbarRef" always height="calc(100vh - 495px)" @scroll="handleScroll">
@ -248,15 +240,16 @@ const handleToNewMessage = async () => {
}
/** 加载历史消息 */
const loadingMore = ref(false) //
const loadHistory = ref(false) //
const handleScroll = async ({ scrollTop }) => {
const messageTotal = messageList.value.length
if (total.value > 0 && messageTotal > 0 && messageTotal === total.value) {
return
}
// 20
loadingMore.value = scrollTop < 20
//
if (scrollTop === 0) {
await handleOldMessage()
}
}
const handleOldMessage = async () => {
//
@ -265,7 +258,6 @@ const handleOldMessage = async () => {
//
queryParams.pageNo += 1
await getMessageList(conversation.value)
loadingMore.value = false
//
scrollbarRef.value!.setScrollTop(innerRef.value!.clientHeight - oldPageHeight)
}
@ -293,17 +285,6 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => {
line-height: 60px;
}
.loadingMore {
width: 100%;
height: 50px;
background-color: #eee;
color: #666;
text-align: center;
line-height: 50px;
transform: translateY(-100%);
transition: transform 0.3s ease-in-out;
}
&-content {
.newMessageTip {
position: absolute;