🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A plugin for Vue.js 2+ that automatically scrolls to the bottom of an element when new content is added.

Scroll

Documentation

vue-chat-scroll

A plugin for Vue.js 2 that scrolls to the bottom of an element when new content is added within said element. See demo.

Installation

NPM (recommended)

npm install --save vue-chat-scroll 
import Vue from 'vue'  import VueChatScroll from 'vue-chat-scroll' Vue.use(VueChatScroll)

Simple Script Tag

Just include dist/vue-chat-scroll.js after including Vue.

<script src="https://cdn.jsdelivr.net/npm/vue-chat-scroll/dist/vue-chat-scroll.min.js"></script>

Usage

There's nothing you need to do in JavaScript except for installation. To use the plugin, simply use the v-chat-scroll directive.

<ul class="messages" v-chat-scroll>   <li class="message" v-for="n in messages">{{ n }}</li> </ul>

Prevent scroll down when user has scrolled up & smooth scrolling

Alternatively, you can pass a config value to the directive:

<ul class="messages" v-chat-scroll="{always: false, smooth: true}">   <li class="message" v-for="n in messages">{{ n }}</li> </ul>

Scroll with dissapearing elements in chat window (see #30)

If you have a "loading" animation that disappears when you receive a message from an external source, use the scrollonremoved option to ensure the scroll will happen after the element has been removed

<ul class="messages" v-chat-scroll="{always: false, smooth: true, scrollonremoved:true}">   <li class="message" v-for="n in messages">{{ n }}</li>   <li v-if="loading">&bull;&bull;&bull;</li> </ul>

You May Also Like