Ich möchte korrekte feste Spalten in der Bootstrap-Vue-Tabelle Allerdings ist die Sticky-Funktion im Dokument nur auf der linken Seite behoben. Gibt es eine Möglichkeit, die rechte oder letzte Spalte zu reparieren?
Ich möchte, dass sowohl die linke als auch die rechte Säule befestigt werden.
Dokumentationswebsite: https://bootstrap-vue.org/docs/components/table#sticky-columns
<template> <div> <div class="mb-2"> <b-form-checkbox v-model="stickyHeader" inline>Sticky header</b-form-checkbox> <b-form-checkbox v-model="noCollapse" inline>No border collapse</b-form-checkbox> </div> <b-table :sticky-header="stickyHeader" :no-border-collapse="noCollapse" responsive :items="items" :fields="fields" > <!-- We are using utility class `text-nowrap` to help illustrate horizontal scrolling --> <template #head(id)="scope"> <div class="text-nowrap">Row ID</div> </template> <template #head()="scope"> <div class="text-nowrap"> Heading {{ scope.label }} </div> </template> </b-table> </div> </template> <script> export default { data() { return { stickyHeader: true, noCollapse: false, fields: [ { key: 'id', stickyColumn: true, isRowHeader: true, variant: 'primary' }, 'a', 'b', { key: 'c', stickyColumn: true, variant: 'info' }, 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l' ], items: [ { id: 1, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 2, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 3, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 4, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 5, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 6, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 7, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 8, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 9, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 }, { id: 10, a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, i: 8, j: 9, k: 10, l: 11 } ] } } } </script>
这可以通过用我们自己的一些 CSS 覆盖 bootstrap 的 CSS 来实现。首先确保最后一列具有
stickyColumn: true
选项以及您想要为其提供的任何其他选项:这将确保它有一个我们可以轻松选择的类名。应用样式,为表中最后一个粘性列赋予
属性right: 0
:codesandbox 示例