vue3 点击按钮使内容区滚动到底部

该代码段展示了如何在Vue.js应用中创建一个消息列表,并在发送新消息后自动将滚动条移动到底部。它利用`ref`来获取DOM元素,`reactive`创建响应式状态,并用`nextTick`确保在DOM更新后执行滚动操作。
<ul ref="contRef" class="list">
      <li v-for="(msg, index) in messages" :key="index">{{ msg }}</li>
</ul>
<button @click="sendMessage">Send</button>
import { ref, reactive, nextTick } from 'vue';
export default {
    setup() {
        const contRef = ref(null); // 使用 ref 引用 list 的 DOM 元素
        const state = reactive({
          messages: [],
        });
        const sendMessage = () => {
            // 使用 nextTick 等待 DOM 更新后再进行滚动操作
            nextTick(() => {
                contRef.value.scrollTop = contRef.value.scrollHeight;
            });
        }
        return {
            contRef,
            state,
            sendMessage,
    };
    }
}

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值