Чтобы перейти к погоне, вот пример, который я сделал, используя документацию bootstrap - vue, чтобы лучше объяснить проблему:
<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"
head-variant="dark"
striped
>
<!-- We are using utility class `text-nowrap` to help illustrate horizontal scrolling -->
<template v-slot:head(id)="scope">
<div class="text-nowrap">Row ID</div>
</template>
<template v-slot: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: [
/* THIS IS THE LINE I CHANGE */
{ key: 'id', stickyColumn: true, variant: 'none'},
'a',
'b',
'c',
'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>
Я взял это прямо из bootstrap - vue документация здесь , с несколькими небольшими модами. Я изменил head-вариант на «темный» (не по умолчанию) и сделал таблицу полосатой. с липкой колонкой я пробовал 3 разные вещи:
1.
{ key: 'id', stickyColumn: true, variant: 'none'} // note 'none' is not actually a variant
2.
{ key: 'id', stickyColumn: true, variant: 'secondary'}
3.
{ key: 'id', stickyColumn: true}
Проблемы с каждый вариант:
1. липкий столбец рассматривается как прозрачный и вызывает некрасивое перекрытие столбцов
2. Я хотел бы сохранить полосатый рисунок и не прибегать к монотонному фону
3. по некоторым причинам. вариант заголовка столбца меняется на значение по умолчанию
Цель:
Я хотел бы что-то, что поддерживает темный заголовок, но имеет стиль столбца 3.
Спасибо за любая помощь.