JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://unpkg.com/[email protected]/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.js"></script>
<div id="app">
<ol>
<virtual-list style="height: 360px; overflow-y: auto;"
:data-key="'id'"
:data-sources="items"
:data-component="itemComponent" />
</ol>
</div>
CSS
body {
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
border-bottom: solid 1px #dcdcdc;
}
JavaScript
var items = [];
for (var i = 1; i <= 10000; i++) {
items.push({
id: i,
title: 'item' + i,
});
}
const itemComponent = Vue.component('item-component', {
props: {
source: ""
},
template: '<li>{{source.title}}</li>'
});
new Vue({
el: "#app",
data: {
}
})