Flutter从子窗口小部件获取数据



我的应用程序中有一个注册部分,里面有一个主页和3个小部件表单。表单1和表单2包含一些TextFormField,在最后一页,我从用户那里得到了一些图片。用户,输入数据并点击主页上的下一个按钮,现在应该验证输入的数据,如果数据没有任何问题,最后将输入数据的请求发送到服务器和step++,然后转到下一个表单

我的问题是如何完成这项工作并在主页上获取子窗体数据?

您可以使用回调函数。例如void函数(字符串(

class MainScreen extends StatelessWidget {
const MainScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
YourFormWidget(
onFirstNameChanged: (String firstName) {
print(firstName);
},
onLastNameChanged: (String lastName) {
print(lastName);
},
),
TextButton(
onPressed: () {},
child: Text("Submit"),
)
],
),
);
}
}
class YourFormWidget extends StatelessWidget {
const YourFormWidget({
Key? key,
required this.onFirstNameChanged,
required this.onLastNameChanged,
}) : super(key: key);
final void Function(String) onFirstNameChanged;
final void Function(String) onLastNameChanged;
@override
Widget build(BuildContext context) {
return Column(
children: [
TextField(onChanged: onFirstNameChanged),
TextField(onChanged: onFirstNameChanged),
],
);
}
}

这称为状态管理。https://flutter.dev/docs/development/data-and-backend/state-mgmt/options

我建议提供者。在主页面中创建对象,并在其子窗口小部件中进行更新。

Provider示例https://flutter.dev/docs/development/data-and-backend/state-mgmt/simple

最新更新