Vue js, bootstrap-vue. Не работает эффект перехода в таблице

Я использую bootstrap-vue. Я взял пример из документации - https://bootstrap-vue.js.org/docs/components/table/#table-body-transition-support. Все работает хорошо. Но если я заменю данные в ячейках th своими данными, эффект перестанет работать. Почему так происходит? Как это исправить?

<template>
<div class="container">
    <div class="row">
        <div class="col-sm-12 chartjs">
            <b-table
                    id="table-transition-example"
                    :items="itemsForTable"
                    :fields="fieldsForTable"
                    striped
                    small
                    primary-key="a"
                    :tbody-transition-props="transProps"
            ></b-table>

        </div>
    </div>
</div>

<script>
export default {
    data: function () {
        return {
            fieldsForTable: [
                { key: 'a1', sortable: true },
                { key: 'b', sortable: true },

            ],
            itemsForTable: [
                { a1: 2, b: 'Two'},
                { a1: 1, b: 'Three'}
            ],
            transProps: {
                name: 'flip-list'
            }
        };
    },
    computed: {
    },
    mounted() {
    },
    methods: {
    }
}

enter image description here


person tirael8    schedule 14.07.2019    source источник
comment
Достаточно ли помог уже предоставленный ответ?   -  person FaZe Unempl0yedd    schedule 15.07.2019


Ответы (1)


Вам также необходимо обновить primary-key до a2. Без этого он не будет знать, какие строки в обновленной таблице эквивалентны строкам в исходной таблице, поэтому он не сможет выполнить переход.

Значение этого поля используется для генерации Vue key для каждой строки. Это не совсем то же самое, что и базовый Vue key, таблица добавляет префикс и суффикс, но для большинства практических целей вы можете рассматривать их как одно и то же.

person skirtle    schedule 15.07.2019
comment
В его данных нет ключа a2 - person Tebe; 20.06.2021