我有一个 TabBarView,主小部件中有两个选项卡。第一个选项卡包括带有卡片的网格视图。卡片使用父小部件 (MyHomePage) 作为侦听器来侦听卡内按钮单击。\n当我单击某些卡片中的按钮时,侦听器会实现。必须打开第二个选项卡并将选定的游览传递给它。但是当我这样做时,在第一次迭代时,ExcursionEditor(currentExcursion) 说,该参数为空,但父版本说,它不是。如果我调整浏览器的大小,它会调用全局重建,并且 currentExcursion 达到最后的构建值。\n所以,我无法理解,为什么 MyHomePage 构建不会影响带有构造函数传递的参数的 TabBarView 内容
\n类我的主页
\n\nimport \'package:flutter/material.dart\';\nimport \'package:questbuilder/api/content_manager.dart\';\nimport \'package:questbuilder/model/excursion.dart\';\nimport \'package:questbuilder/pages/tab_editor.dart\';\nimport \'package:questbuilder/pages/tab_my_excursions.dart\';\nimport \'package:questbuilder/widgets/excursion_preview_card.dart\';\n\nimport \'package:logger/logger.dart\';\n\nclass MyHomePage extends StatefulWidget {\n MyHomePage({Key key, this.title}) : super(key: key);\n\n final String title;\n\n @override\n _MyHomePageState createState() => _MyHomePageState();\n}\n\nclass _MyHomePageState extends State<MyHomePage>\n with TickerProviderStateMixin\n implements ExcursionCardInteractionListener {\n Logger logger = Logger();\n\n Excursion currentExcursion;\n\n TabController tabController;\n\n @override\n void initState() {\n super.initState();\n print("INIT STATE FOR HOME PAGE");\n tabController = TabController(vsync: this, length: 2);\n }\n\n @override\n Widget build(BuildContext context) {\n var screenSize …Run Code Online (Sandbox Code Playgroud)