дерево, не?
Я обновляю с помощью immer исходную Model, не TreeNode[]
ну Model, это дерево?
Да. Observable<Model> это дерево. Observable<TreeNode[]> получается с помощью map над Observable<Model> Observable<Model> хранится в сторе и обновляется immer
да, про нормализацию
Насколько я понимаю, это мне ничем не поможет. Мне надо в любом случае преобразовать Observable<Model> в Observable<TreeNode[]> и не важно, что внутри Model. В любом случае map приведёт к тому, что обновится полностью весь TreeNode[]
Стоп, но trackRowBy должен же сработать. Если сработает, то похер, что ссылки обновились. Если нет - то нужно понять почему
А как trackRowBy поможет для Expanded? Кстати вот что нашел у них https://github.com/primefaces/primeng/issues/6577
А при создании ноды нельзя ей задать Expanded разве? Хотя тогда нужно старое дерево смотреть 🤨
Ну да, анализировать старое дерево можно. Это как раз вариант со сравнением и анализом.
Ну либо поместить это свойство в state и при тоггле нод тоже обновлять стейт и перестраивать дерево. Т.е. если все данные будут в стейте, то и проблем не будет (ну какое то время) Ещё наверное можно у компонента запросить идентификаторы открытых нод
Ну да, тоже вариант. У компонента можно просто получить актуальные TreeNode[] и просто пройти по ним и узнать, какие из них expanded
Обсуждают сегодня