Анимированный список удаляет только последний элемент, а не элемент по данному индексу - PullRequest
0 голосов
/ 25 мая 2020

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

сначала я использовал глобальный ключ для списка

final GlobalKey<AnimatedListState> listKey = GlobalKey<AnimatedListState>();

код моего анимированного списка

AnimatedList(
      initialItemCount: snapshot.data[0].length ,
        key: listKey,
        itemBuilder: (BuildContext context, int index, Animation animation) {
          return SizeTransition(
              sizeFactor: animation,
              child: GestureDetector(
                onTap: () {
                   Navigator.push(
                       context,
                       MaterialPageRoute(
                           builder: (context) => ProductFullScreenView(
                                 productInfo: snapshot.data[0].elementAt(index),
                               )));
                },
                child: ProductListCardVertical(
                    index: index,
                    ),
              ));
        });

и внутри своего виджета я назвал эту функцию

// function to remove the data from my database, if true then remove the tile
// remove tile 
 listKey.currentState.removeItem(
                            widget.index, (context, animation) => Container());

любая помощь будет оценена

1 Ответ

0 голосов
/ 25 мая 2020

Обновление:

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

...