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

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

18 ответов

56 просмотров

Зачем?

перерисовывается не весь список, а только 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>

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта