flutter 将控制器的输入值传递给另一个页面的有状态小部件

f2uvfpb9  于 7个月前  发布在  Flutter
关注(0)|答案(1)|浏览(45)

登录.dart

class LoginForm extends StatefulWidget {
  final Function toggleForm;

  const LoginForm(this.toggleForm, {super.key});

  @override
  _LoginFormState createState() => _LoginFormState();
}

class _LoginFormState extends State<LoginForm> {
  final TextEditingController _mobileNumberController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return TextFormField(controller: _mobileNumberController,);
  }
}

字符串

OTP.dart

class OTPScreen extends StatelessWidget {
  final String MobileNum;
  const OTPScreen({super.key, required this.MobileNum});

  @override
  Widget build(BuildContext context) {
    return Text(MobileNum);
  }
}

class HomePageLayout extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        OtherWidget(),
        OTPScreen(),
      ],
    );
  }
}

如何将控制器的输入值传递给另一个有状态小部件

  • 如何将TextFormField(controller: _mobileNumberController,)值传递给另一个页面的有状态小部件 * 解决方案请!有什么遗漏吗?
sg24os4d

sg24os4d1#

如果您想将**_mobileNumberController的值传递到OTP屏幕,可以通过多种方式实现,其中之一是访问TextEditingControllervalue属性,并在导航到它时通过OTPScreen**的构造函数传递,如下所示:

Navigator.of(context).push(MaterialPageRoute(builder: (_) {
      return OTPScreen(MobileNum: _mobileNumberController.value.toString());
    }));

字符串

相关问题