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

Как обновлять только 1 элемент в ListView? не весь список

18 ответов

30 просмотров

Зачем?

перерисовывается не весь список, а только 1 элемент

Ivan-B Автор вопроса
Jorik Fat
перерисовывается не весь список, а только 1 элемен...

если я в списке в середине, нажал на кнопку в элементе - ушло на сервер сервер прислал новый список setState перерисовывает весь список во всяком случае я уже не в середине на самом верху списка

Ivan B
если я в списке в середине, нажал на кнопку в элем...

setState перерисовывает (не путать с build) весь список только если его предварительно очищать

Jorik Fat
перерисовывается не весь список, а только 1 элемен...

ну вообще сет стейт достаточно просто работает, он просто перерисовывает текущий виджет и не больше. Он понятие не имеет о том что ожидается перерисовка конкретного элемента в списке по каким то не очевидным для него признакам. Поэтому ответ на вопрос проще - никак. Могу конечно ошибаться. Я помню что во vue например ключи было полезно проставлять, чтобы вью понимал что пора какой то кусок в цикле перерисовтаь. Но это не работало так что изменился уже отрисованый элемент в своих свойствах и вью благодаря ключу обновлял его. Это работало для случаев когда на его место встает уже совсем иной объект уже совсем с другим ключем

build != render проверять перерисовку через log'и - некорректно, нужно проверять через repaint в DevTools

Jorik Fat
build != render проверять перерисовку через log'и ...

так а сет стейт то по итогу что делает?

David
так а сет стейт то по итогу что делает?

помечает поддерево для rebuild'а все дерево перестроится, но не обязательно перерисуется

Jorik Fat
помечает поддерево для rebuild'а все дерево перес...

ну да, если дерево не отличается от прошлого, так?

Jorik Fat
оно может отличаться неполностью

то что не отличается вроде по возмжности не перерисовывается

Jorik Fat
вот и я об этом

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

David
в любом случае дать сигнал перерисовать конкретный...

вообще можно (засунуть в Builder или его потомка), но это бессмысленно

David
не очень понимаю о чем речь

!!!НЕ НАДО ТАК ДЕЛАТЬ!!! каждый элемент списка засунуть в BlocBuild'er и где-то во ViewModel'е держать List<Cubit>

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
если загрузчик efi? если сама PML4 PDPT PDT PT лежит в неудобном для меня месте?
Vi Chapmann 🪙
8
Карта сайта