Есть ли способ передать объект Map () в другой виджет с сохранением состояния на разных экранах? - PullRequest
0 голосов
/ 09 апреля 2020

Например, у меня есть простой Map () в main.dart.

И у меня есть 3 экрана с различными виджетами с состоянием,

screen1.dart => Screen1 ()

screen2.dart => Screen2 ()

screen3.dart => Screen3 ()

В main.dart

var people1 = {

name:”Peter”,
age:20,

}
Main(){
  runApp(screen1(people1));
}

===== ====================

screen1.dart

(импортированный main.dart)

class Screen1 extends StatefulWidget {
  @override
  _Screen1State createState() => _Screen1State();
}


class _Screen1State extends State<Screen1> {

  @override
  Widget build(BuildContext context) {
    return Container(Text(“${people.age}”);
  }
}

Я не могу получить people.age на других экранах. Даже я импортировал файл дротика. Как перейти на виджет с сохранением состояния на других экранах?

1 Ответ

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

Вы должны создать конструктор на вашем Screen1

class Screen1 extends StatefulWidget {  
  final Map people;

  const Screen1(this.people);

, а затем получить к нему доступ в своем полном классе Screen1 следующим образом:

widget.people.age

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

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