Мне нужно обновить действительно длинный массив на основе входного значения поля выбора. Поскольку существуют проблемы мутации ссылочных типов, способ обнаружения изменений - это такие методы, как splice
. Однако использование splice()
не привело к очистке массива, я не знаю почему. Я наткнулся на Vue.set(data, index, value)
, который работает, и мое текущее решение таково:
if (this.selectval === "fizz") {
const newarr = [35, 8, 7, 6, 5, 4, 3, 2];
for (let i = 0; i < newarr.length; i++) {
Vue.set(this.$store.state.country, i, newarr[i]);
}
}
Однако в этом уже очень небольшом примере код кажется слишком сложным, чтобы просто изменить данные во всем массиве. Есть ли варианты, которые более лаконичны и близки к моему желаемому this.$store.state.country = newdata
?