Флаттер - несколько тел для одной домашней страницы - PullRequest
0 голосов
/ 22 апреля 2020

Таким образом, в моем приложении для флаттера, когда оно открыто, я получаю тип пользователя из моего RestApi (без учетной записи, с учетной записью типа 1, учетной записи типа 2, учетной записи типа 3), и у каждого из них есть специальная страница home_page (та же appBar, но разные тела с некоторым сходством).

Как я могу это сделать? Должен ли я создать определенный c маршрут для каждого?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Вы можете создать общий виджет c, как должна выглядеть домашняя страница, затем создать модель, отличающуюся информацией между пользователями, создать другой файл со всеми данными, откуда вы получаете информацию, относящуюся к предыдущей модели. Пример: Модель:

class Model {
 final String id;
 final String name;
 final String surname;
 Model({this.id, this.name, this.surname});
}

Данные:

const User_Data = [
   Model(
   id: 'user1',
   name: 'Name1',
   surname: 'Surname1',
   ),
   Model(
   id: 'user2',
   name: 'Name1',
   surname: 'Surname1',
   ),
   ];

В данных вы можете выбрать пользователя по идентификатору, используя User_Data.firstWhere () для получения идентификатора пользователя и после получения всех данных для этого идентификатора пользователя.

final userId = ModalRoute.of(context).settings.arguments as String;
    final selectedUser =
        User_Data.firstWhere((user) => userId == user.id);
0 голосов
/ 22 апреля 2020

Да, лучшая практика - создать маршрут для каждого пользователя, в противном случае у вас останется 4, если блоки в одном файле и все станет быстро грязно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...