この記事の内容
Vuetifyのv-simple-tableでスクロール指定をしても、スクロールしなかったので、対処方法を記載しています;
対処方法
var wrapper = vt.querySelector(“div.v-data-table__wrapper”);の部分がカギで、この要素を取得して、scrollTopを指定することで、スクロールします。
<template> <v-container> <v-simple-table id="vt" height="50vh"> <template v-slot:default> <thead> <tr> <th class="text-left">Name</th> <th class="text-left">Calories</th> </tr> </thead> <tbody> <tr v-for="item in desserts" :key="item.name"> <td>{{ item.name }}</td> <td>{{ item.calories }}</td> </tr> </tbody> </template> </v-simple-table> <v-btn depressed v-on:click="scrollDown">scrollDown</v-btn> </v-container> </template> <style scoped> th { background: white; position: sticky; top: 0; } </style> <script> export default { name: "HelloWorld", methods: { scrollDown: function () { var vt = document.getElementById("vt"); var wrapper = vt.querySelector("div.v-data-table__wrapper"); wrapper.scrollTop = wrapper.scrollHeight; }, }, data: () => ({ desserts: [ { name: "Frozen Yogurt", calories: 159, }, { name: "Ice cream sandwich", calories: 237, }, { name: "Eclair", calories: 262, }, { name: "Cupcake", calories: 305, }, { name: "Gingerbread", calories: 356, }, { name: "Jelly bean", calories: 375, }, { name: "Lollipop", calories: 392, }, { name: "Honeycomb", calories: 408, }, { name: "Donut", calories: 452, }, { name: "KitKat", calories: 518, }, ], }), }; </script>
コメント