У меня есть VueJS с проектом bootstrap-vue.Отображается список вкладок, но он больше ширины родительского элемента.Поэтому я хочу иметь пару кнопок для прокрутки списка слева направо.
Я нашел этот пример, который я получил, работая в моем собственном проекте. Горизонтальная прокрутка с использованием кнопок в VueJS Но я не могу заставить его работать с вкладками.
В методах, которые я нацеливаю на .nav-tabs, потому что это класс, который отображается в DOM,Я попытался выяснить это с помощью. $ Refs, но не смог добраться до фактического элемента, потому что этот элемент виден только после визуализации.
Может кто-нибудь помочь с прокруткой вкладок.
https://jsfiddle.net/timmyl/xg8j7knb/19/
<div id="app">
<div class="container">
<b-row class="wrap" ref="wrap">
<b-tabs content-class="mt-3">
<b-tab v-for="category in categories" v-bind:title="category.name" :key="category.id">
</b-tab>
<b-tab>
Content
</b-tab>
</b-tabs>
</b-row>
<b-row>
<button @click="scroll_left">Scroll Left</button>
<button @click="scroll_right">Scroll Right</button>
</b-row>
</div>
</div>
methods: {
scroll_left() {
let content = document.querySelector(".nav-tabs");
content.scrollLeft -= 50;
},
scroll_right() {
let content = document.querySelector(".nav-tabs");
content.scrollLeft += 50;
}
.tab-panel {
flex-wrap: nowrap;
}
.wrap {
overflow: hidden;
width: 100%;
flex-direction: row;
}
.nav-tabs {
flex-wrap: nowrap;
white-space: nowrap;
}