Ситуация :
У меня есть приложение VueJS2 с массивом элементов в моем магазине Vuex:
export default new Vuex.Store({
state: {
checkedItems: []
}
...
Идея состоит в том, чтобы проверить (выбран ) элементы в компоненте buefy b-table, глобально доступные через этот массив. B-таблица инициируется в моем компоненте следующим образом:
<b-table
...
:checked-rows.sync="checkedItems"
...
, а состояние хранилища отображается внутри компонента следующим образом:
...
computed: {
...mapState(['checkedItems'])
},
...
Проблема :
Строки выбираются визуально (т. Е. Флажок переключается между отмеченным / очищенным), но массив checkedItems хранилища не обновляется. Я знаю это, потому что для отладки я показываю счетчик для массива, и он остается нулевым независимо от того, сколько элементов я (де-) выбираю. В консоли браузера отображается «[Vue предупреждение]: вычисленное свойство« checkedFrqs »было назначено, но у него нет установщика». когда я выбираю строку.
Я заметил, однако, что это работает, когда я вручную sh запись в одном из методов компонентов, а именно:
this.checkedItems.push(row)
Вопрос :
Как заставить
:checked-rows.sync="checkedItems"
работать без проблем с массивом Vuex? (PS когда я использую локальный массив вместо массива хранилища Vuex, все также работает)