#flutter
#flutter
Вопрос:
Я хочу сделать Page Widget
со строкой «mytitle»,»Anime»
Возможно, это слишком простой вопрос, но меня очень смущает взаимосвязь StatefulWidget
и State
return Navigator.pushReplacement(context,
NoAnimationMaterialPageRoute(
builder: (context,"mytitle","Anime") => AnimePage()));
class AnimePage extends StatefulWidget {
AnimePage({Key key, this.title, this.video}) : super(key: key);
final String title;
final String video;
@override
_AnimePageState createState() => _AnimePageState();
}
class _AnimePageState extends State<AnimePage> {
@override
void initState() {
super.initState();
print(widget.video) //want to show `Anime` here
};
Ответ №1:
Это работает:
return Navigator.pushReplacement(
context,
NoAnimationMaterialPageRoute(
builder: (context) => AnimePage(
// pass your parameter values
title: 'My Anime',
video: YOUR_VIDEO_PARAM,
),
),
);
Комментарии:
1. Спасибо, это работает. и просто понять. Спасибо.
Ответ №2:
Вы также должны добавить конструктор для состояния, вот так…
class AnimePage extends StatefulWidget {
AnimePage({Key key, this.title, this.video}) : super(key: key);
final String title;
final String video;
@override
_AnimePageState createState() => _AnimePageState(title,video);
}
class _AnimePageState extends State<AnimePage> {
final String title;
final String video;
_AnimePageState(this.title,this.video);
@override
void initState() {
super.initState();
print(widget.video) //want to show `Anime` here
};
Я надеюсь, что это было то, что вы искали
Комментарии:
1. Большое вам спасибо, но в моем случае я не использую constructor в
_AnimePageState
, но это работает.