Мастер-деталь с использованием модели Флаттер - PullRequest
0 голосов
/ 21 февраля 2019

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

Я используюАрхитектура Scoped Model, поэтому экраны StatelessWidget используют тот же экземпляр конкретного Model.

Моя проблема в том, что я не уверен, какой из способов передачи информации является лучшимэлемент для отображения на подробном экране.

  • Один из способов - установить элемент модели, например, selectedItem, для выбранного элемента.Преимущество этого подхода состоит в том, что он основан исключительно на моделях, но на самом деле он не выглядит чистым, поскольку элемент selectedItem бесполезен, когда не находится в режиме детализации (и потенциально может содержать старые данные).

  • Другим способом было бы передать выбранный элемент (или некоторый тип идентификатора для него) конструктору StatelessWidget и использовать его для получения правильного элемента из модели на подробном экране.Тем не менее, это будет означать, что StatelessWidget на самом деле не будет без сохранения состояния, поскольку ему потребуется хранить параметр, переданный в конструкторе, сам по себе ...

Есть ли третийи лучший способ сделать это?

...