flutter 确认后如何导航到下一个屏幕?

7d7tgy0s  于 2023-01-21  发布在  Flutter
关注(0)|答案(2)|浏览(135)
SizedBox(
  height: 50,
  width: 160,
  child: Container(
      decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(10),
          color: const Color(0xFF0890F2)),
      child: TextButton(
          style: TextButton.styleFrom(
            backgroundColor: const Color(0xFF223843),
          ),
          onPressed: () {
            final form = _formkey.currentState;
            if (form != null && form.validate()) {
              Navigator.push(
                  context,
                  MaterialPageRoute(
                      builder: (context) => MyLoginPage()));
            }
          },
          child: const Text(
            'Sign Up',
            style: TextStyle(color: Colors.white),
          ))),
),
c0vxltue

c0vxltue1#

您可以为空大小写指定false,如下所示

onPressed: () {
  final isValided =
      _formkey.currentState?.validate() ?? false;
  if (isValided) {
    Navigator.push(
        context,
        MaterialPageRoute(
            builder: (context) => MyLoginPage()));
  }
},

了解更多关于forms/validation的信息

cdmah0mi

cdmah0mi2#

不需要为这些创建变量,你可以直接使用bcz validate()函数返回bool值。
演示代码:

onPressed: () {
   if (_formkey.currentState!.validate()) {
      Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => MyLoginPage()));
   }
},

相关问题