#vue.js #buefy
#vue.js #buefy
Вопрос:
Я знаю, что задавал это раньше, но я не получил ответа на предыдущий вопрос.В настоящее время я использую Vue.js фреймворк вместе с buefy (0.9.2) для компонентов пользовательского интерфейса.Проблема здесь в том, что компонент b-table иногда не обновляется на странице / пользовательском интерфейсе, когда я нажимаю значок удаления (удаляет эту строку из таблицы) или когда я нажимаю кнопку добавить новую строку. Я могу подтвердить, что сами операции (удаление и добавление строки) работают отлично.(Я проверил это с помощью журнала консоли, а также путем проверки хранилища vuex.Просто изменение не отражается на странице / пользовательском интерфейсе.
Пример шаблона-
<b-table
ref="records"
:data="this.objectData.records"
:hoverable="true"
:paginated="true"
:per-page="10"
selectable
@select="selected"
detailed
:show-detail-icon="true"
icon-pack="mdi"
custom-row-key="id"
>
<b-table-column v-slot="props" field="effectiveDate" label="Eff Date">{{ props.row.effectiveDate }}</b-table-column>
<b-table-column v-slot="props" field="jobType" label="Job Type">{{ props.row.jobType }}</b-table-column>
<b-table-column v-slot="props" field="action" label="Action">{{ props.row.action }}</b-table-column>
<b-table-column v-slot="props">
<b-button class="is-borderless is-borderless" @click="deleteTableRow('records','records',props.index)">
<b-icon icon="delete"></b-icon>
</b-button>
</b-table-column>
функция, выполняющая операцию удаления строки-
deleteTableRow(tableRef, dataCol, index) {
this.objectData[dataCol].splice(index, 1);
},
ПРИМЕЧАНИЕ: я также пытался использовать ключ prop и увеличивать этот ключ в функции delete row, чтобы принудительно обновить компонент b-таблицы, но проблема здесь в том, что он сбрасывает нумерацию страниц обратно на 1-ю страницу.Итак, что я должен сделать, чтобы обновить компонент b-table без переустановки нумерации страниц на 1-ю страницу?
Ответ №1:
Я бы тоже хотел это выяснить. Повторная выборка всего списка только для обновления нумерации страниц является излишней.