小编Han*_*nis的帖子

Flutter如何向State类传递值

我在类之间传递参数时遇到问题。当我想将电子邮件从 MyScreen 类传递到我的 TabScreen 时,它显示:

[State] 对象的配置是相应的 [StatefulWidget] 实例。该属性由框架在调用 [initState] 之前初始化。如果父级将树中的此位置更新为与当前配置具有相同 [runtimeType] 和 [Widget.key] 的新小部件,则框架将更新此属性以引用新小部件,然后调用 [didUpdateWidget],传递旧配置作为参数。

不确定如何处理将变量传递给状态类。我可以使用“${widget.email}”,但只能在小部件数组中使用。在列表选项卡内,我真的不知道如何。对于 flutter 的做事方式相当陌生......我在某个地方做错了吗?

import 'package:flutter/material.dart';
import 'package:my_helper/tab_screen2.dart';
import 'package:my_helper/tab_screen3.dart';
import 'tab_screen.dart';

class MainScreen extends StatefulWidget {
  final String email; //<-managed to get this variable from previous screen

MainScreen({Key key,this.email}) : super(key: key);

@override
_MainScreenState createState() => _MainScreenState();
}

class _MainScreenState extends State<MainScreen> {
 int currentTabIndex = 0;

List<Widget> tabs = [
  TabScreen("Home", widget.email), //<- ERROR this widget.email shows error "only static member can be …
Run Code Online (Sandbox Code Playgroud)

flutter

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

带有 Getx 的 Flutter DropdownButton 小部件

我正在学习 GetX 状态管理并偶然发现 DropdownButton 小部件。无法观察到如何使用所选值更新所选值。这是我的 DropdownButton 小部件

              DropdownButton(
                  hint: Text(
                    'Book Type',
                  ),
                  onChanged: (newValue) {
                    print(newValue);
                  },
                  value: selectedType,
                  items: bookController.listType.map((selectedType) {
                    return DropdownMenuItem(
                      child: new Text(
                        selectedType,
                      ),
                      value: selectedType,
                    );
                  }).toList(),
                ),
Run Code Online (Sandbox Code Playgroud)

var selectedType;
Run Code Online (Sandbox Code Playgroud)

在小部件构建中声明。我试图使这个变量可观察,但布局会引发溢出错误。我也用 obx 包装了小部件,但它仍然抛出相同的错误。这个小部件是如何使用 GetX 实现的。我在这里拉头发。我可以使用 getX 处理其他小部件。

flutter dropdownbutton getx

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

标签 统计

flutter ×2

dropdownbutton ×1

getx ×1