Обработка ответа от api и обновление данных в массиве

161
26 марта 2019, 22:50

Работаю с vue и api. Получил я массив объектов

let data = [
    {},
    {},
    {},
];

Каждый объект - строка из БД. Всё там как обычно: id и другие поля. Отображаю на странице.

После я обновляю данные одного из этих объектов через пользовательский интерфейс. Отправляю изменённый объект на сервер. И в ответ получаю этот же объект, но как ответ сервера. Как мне теперь записать полученные от сервера обновлённые данные в массив data?

Да, я знаю id. Я могу сделать find(). Но так я не узнаю ключ массива, чтобы обратиться к объекту и заменить его. Как быть?

Пример запроса к серверу

async addService(sample, service_id) {
    let response = await axios.post('/sample-service', {
        'sample_id': sample.id,
        'service_id': service_id,
    });
    //Обработка ответа
},
Answer 1
let data = [
    {},
    {},
    {},
];
async addService(sample, service_id) {
    let response = await axios.post('/sample-service', {
        'sample_id': sample.id,
        'service_id': service_id,
    });
    //Обработка ответа
    for (let i in data) {
        if (data[i].id === response.data.id) {
            data.splice(i, 1, response.data);
            break;
        }
    }
},
READ ALSO
глубокое клонирование массива

глубокое клонирование массива

Дан массив arr['1','2',['3',{number:'4'}],'5'] нужно сделать его клон без использования методов slice и тд

168
Unhandled rejection TypeError: Cannot read property 'tblUsers' of undefined

Unhandled rejection TypeError: Cannot read property 'tblUsers' of undefined

Всем привет, не могу понять как задать поле у классаИспользую node v10

132
помогите пожалуйста с owl-carousel2

помогите пожалуйста с owl-carousel2

Помогите с помощью плагина owl-carousel2 сделать autoplay через 3 секунды

156
Сумма чисел массива

Сумма чисел массива

Задачи: есть две переменные "a" и "b" необходимо произвести сумму чисел от переменной "а" до переменной "b"

138