Правильный индексированный элемент не удаляется из LocalStorage - PullRequest
1 голос
/ 26 сентября 2019

Я обнаружил, что этот код:

deleteImage(image ){
    const index = this.selectedGallery.indexOf(image);
    this.selectedGallery.splice(index, 1);
    localStorage.setItem('selectedImages', JSON.stringify(this.selectedGallery));
}

Вот где установлен массив localstorage:

if (localStorage) {
   var selectedImages;
   if (!localStorage['selectedImages']) selectedImages = [];
   else selectedImages = JSON.parse(localStorage['selectedImages']);
   if (!(selectedImages instanceof Array)) selectedImages = [];
   selectedImages.push(imageFile);
   localStorage.setItem('selectedImages', JSON.stringify(selectedImages));
   his.storageSubject.next(selectedImages);
}

удаляет последний элемент массива localstorage, а не индексируетсяпредмет, который я пытаюсь удалить.

Не уверен, почему, как и любые прецеденты, на которые я здесь смотрел, похоже, используют этот способ.

Есть ли другой способ, о котором кто-нибудь знает?

1 Ответ

0 голосов
/ 26 сентября 2019

Это bcs, он не находит изображение в массиве, и следующая строка возвращает -1 в качестве индекса вместо фактического индекса

 const index = this.selectedGallery.indexOf(image);

Таким образом, передача правильного индекса должна работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...