【发布时间】:2021-05-05 23:22:52
【问题描述】:
我有一个可滚动的 div 元素
<script>
let scrollBoxObj;
$: scrollBoxObj = document.getElementById("chat-box");
$: if (!(scrollBoxObj === undefined) && scrollBoxObj.scrollTop < scrollBoxObj.scrollHeight) {
scrollBoxObj.scrollTop = scrollBoxObj.scrollHeight;
}
</script>
<div id="scrollBox" class="h-screen w-auto chat-box border border-orange rounded">
<div id="chat-box" style="margin: 0" class="chat-box">
{#each chatBox as { user, content, type}}
<MessageBox {user} message={content} {type} />
{/each}
</div>
</div>
<style>
.chat-box {
overflow-y: auto;
}
</style>
我正在尝试在添加新消息时自动向下滚动。 但它不是被动的。 或者我不明白反应性在 svelte 中是如何工作的。 我也尝试在 onMount 中分配 scrollBoxObj,但结果还是一样,没有用。
【问题讨论】:
标签: javascript scroll scrollbar svelte svelte-component