Vuejs: вычисленный массив обновлен, но визуализированные данные не обновлены - PullRequest
0 голосов
/ 03 мая 2020

У меня есть вычисляемый массив, который будет обновляться в любое время с помощью триггера / действия.
Однако, когда триггер / действие вызывается и соединение / проталкивание будет выполнено, рендеринг, похоже, не изменится ,

computed: {
    list_array() {
        var result = []
        this.status_list.forEach(status=> {
            this.api_data.forEach(item => {
                if(status.id === item .status_id) {
                    result.push({
                        status_id: status.id
                        data: item 
                    })
                }
            })
        })
        return result;
    }
}

Мой trigger/action выглядит следующим образом ....

refreshList(event, api_data) {
    const remove_ind = this.list_array.findIndex(obj => obj.status_id== event.status_id);
    const remove_data_ind = this.list_array[remove_ind].data.findIndex(obj => obj.id == event.id); 
    this.list_array[remove_ind].data.splice(remove_data_ind, 1);

    const stat_index = this.list_array.findIndex(obj => obj.status_id == api_data.status_id);
    if (tech_index == -1) {
        this.list_array.push({
            status_id: api_data.status_id,
            data: api_data
        })
     } else {
         this.list_array[stat_index].data.push(api_data);
       }
 }

Я читал о том, что вычисляемое свойство не реагирует на добавление / удаление. .. так что я попробовал это .... но все равно не повезло. визуализированный предмет остается прежним.

computed: {
    list_array: {
        get() {
            var result = []
            this.status_list.forEach(status=> {
                this.api_data.forEach(item => {
                    if(status.id === item .status_id) {
                       result.push({
                           status_id: status.id
                           data: item 
                        })
                    }
                })
            })
        return result;
    }
    set(newArr) {
        return newArr;
    }
 }

Есть идеи?

...