如何从其他 Widget 获取数据?

Rog*_*sta 2 dart flutter

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

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

例子 : !1

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

!2

tud*_*dan 14

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

...
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: ...
        );
    }
}
Run Code Online (Sandbox Code Playgroud)