dart - 如何从其他 Widget 获取数据?

标签 dart flutter

我想从特定的小部件获取数据,我搜索了存在的 SQLite 或 SharePreferences,但我想不需要。

我想要的是,当我在事件 onTap 中单击时,在我的例子中采用 String 并在父小部件中获取 String 的值。我知道如何将数据从父小部件传递到子小部件,但不能反向传递。

例子:! 1

当我按下例如“Journey UNI”时,保存该字符串并在父小部件中获取它:

! 2

最佳答案

您可以让您的 parent 将回调函数传递给您的子部件。 然后在子窗口小部件中,当您想要将一个值传回给您的父窗口小部件时,您可以使用该值调用回调。

...
ParentWidget(
    child: ChildWidget(
        onSelectParam: (String param) {
            // do something with param
        }
    ),
)
...


class ChildWidget extends StatelessWidget {
    ChildWidget({this.onSelectParam});

    String yourParam;
    Function(String) onSelectParam;

    @override
    Widget build(BuildContext context) {
        return InkWell(
            onTap: () {
                onSelectParam(yourParam);
            },
            child: ...
        );
    }
}

关于dart - 如何从其他 Widget 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52043283/

相关文章:

dart - Polymer + dart2js:输出太大

python - SocketException : Connection refused (OS Error: Connection refused, errno = 111), 地址 = 127.0.0.1, 端口 = 44164

macos - Flutter 无法运行,get_navigation 和主题错误

performance - 有一种简单的方法可以在Flutter中尽可能多地添加Const吗?

flutter - 链接的异步方法无法在使用FutureBuilder的Widget中显示结果

android - Video_player 在 Flutter 中使 Android 模拟器崩溃

flutter - 脚手架底部导航栏重叠正文内容。如何预防

firebase - 如何获取Firebase通知数据?

asynchronous - 如何等待不返回 Future 的方法?

google-app-engine - 使用 Futures 时已发送 Dart AppEngine header