我想从特定的小部件获取数据,我搜索了存在的 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/