Flutter中如何将signUp.dart的用户输入传递至auth.dart
在Flutter中向拆分的认证函数传递输入数据的解决方案
要把注册页面的邮箱、密码数据传给auth.dart里的signUp()函数,只需要两步修改:
1. 修改auth.dart的signUp函数,让它接收参数
把原来无参的signUp改成带必填参数的函数,直接接收邮箱和密码:
// auth.dart void signUp({required String email, required String password}) { signUpNewUserOnServer( email: email, password: password, ); }
2. 在signUp.dart里调用时传入输入数据
在按钮的onPressed回调里,从控制器中获取用户输入的文本,然后传给signUp函数:
// signUp.dart中按钮的onPressed部分 onPressed: () async { if (_formKey.currentState.validate()) { // 获取输入内容并去除前后空格 final userEmail = emailController.text.trim(); final userPassword = passwordController.text.trim(); // 调用带参数的signUp函数 signUp(email: userEmail, password: userPassword); } },
额外提示
- 别忘了在
signUp.dart顶部导入auth.dart:import 'auth.dart'; - 使用
trim()可以避免用户输入前后的空格导致的服务器验证问题 - 如果服务器注册请求是异步操作,可以把
signUp改成Future类型函数,调用时加上await处理异步逻辑
内容的提问来源于stack exchange,提问作者laleelammon
相关产品推荐
相关产品推荐

