169 похожих чатов

Доброго времени суток! Может быть кто-то сталкивался с подобной проблемой.

Имеется CustomScrollView, список slivers для которого формируется по данным из блока в вынесеном виджете.

Схема примерно такая:

CustomScrollView(
slivers:
for (var element in state.array)
Persistent header(),
SliverGrid()
)

До добавления данных список выглядит примерно так:

3й,
2й,
1й,
0й.

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

4й (появляется если поскроллить список)




0й.

Дубликат пропадает если закрыть и снова открыть страницу.
Данные проверял, они в порядке, дубликатов через блок не приходит. На всякий случай пробовал даже прогонять список через сет, мало ли. Но нет, с данными порядок, что то я не так делаю с виджетами. Знает кто нить в чем проблема может быть? Код показать, к сожалению не могу. Заранее спасибо за помощь :)

6 ответов

3 просмотра

Сразу disclaimer Дочитвл только до строчки про дублирование .. Если дата из быка, и там не убираете дубликаты, то самое просое Set<T>вместо List<T>

ManBearPig
Сразу disclaimer Дочитвл только до строчки про ду...

Ну если хотите List дальше использовать как тип, то , как вариант toSet().toList()

redirect- Автор вопроса

Пробовал :) с данными порядок, в самом списке дубликатов нет, прикол именно с виджетами. Выше уже ответили про ключи, очень похоже на верное решение, но пока не могу проверить.

redirect
Пробовал :) с данными порядок, в самом списке дубл...

Вообще стоит залогировать и посмотреть на каком этапе длинна на единицу увеличивается (дубль последнего i)

redirect
Пробовал :) с данными порядок, в самом списке дубл...

Проверяйте ответ (тип и длинну, если это массив) на каждом этапе от получения raw data до получения состояния последнего от вашего блока..... Это очень странно.....

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Подскажите, можно ведь комбинировать запись данных в один и тот же Stream через TFileStream и через TCompressionStream поочерёдно? Ну т.е. часть данных мне нужно сжать, часть ...
notme
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, кто сталкивался с тем, что Electron.js не разворачивает билд React.js-приложения? Голый body в чёрном цвете, как и должно быть, но остального - нет. Билд работает исп...
..
6
Anyone knows how to build this widget in Flutter? I have all the assets for round stations and the road, but how can I make the my widget animate between these stations? And h...
Mohammad Zamani
9
Карта сайта