小编Dea*_*ner的帖子

setState() 不会更新 TabBarView 选项卡中的构造函数值

我有一个 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)

flutter flutter-layout flutter-web

1
推荐指数
1
解决办法
1663
查看次数

标签 统计

flutter ×1

flutter-layout ×1

flutter-web ×1