命名参数“onPressed”未定义

问题描述 投票:0回答:1

未定义名称参数“on Pressed”

我正在尝试制作一个带有登录页面的应用程序,但我无法使按钮工作


import 'package:flutter/material.dart';

class SignIn extends StatefulWidget {
  const SignIn({super.key});


  @override
  State<SignIn> createState() => _SignInState();
}

class _SignInState extends State<SignIn> {


  // ignore: unused_field
  final AuthService _auth = AuthService();

  // text field state
  String email = '';
  String password = '';



  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.brown[100],
      appBar: AppBar(
        backgroundColor: Colors.brown[400],
        elevation: 0.0,
        title: const Text('Sign in to LejweConnect'),

      ),
      body: Container(
        padding: const EdgeInsets.symmetric(vertical: 20.0, horizontal: 50.0),
        child: Form(
          child: Column(
            children: <Widget>[
              const SizedBox(height: 20.0),
              TextFormField(
                onChanged: (val){
                  setState(() => email = val);

                }
              ),
              const SizedBox(height: 20.0),
                TextFormField(
                  obscureText: true,
                  onChanged: (val){
                    setState(() => password = val);

                  }
                ),
                const SizedBox(height: 20.0),
                Container(
                  color: Colors.pink[400],
                  // ignore: prefer_const_constructors
                  child: Text(
                   'Sign in',
                  style: const  TextStyle(color: Colors.white),
                  ),
                  
                  onPressed: () async {
                    
                  }

未定义命名参数“onPressed”。 尝试将名称更正为现有命名参数的名称,或使用名称“onPressed”定义命名参数。dartundefine_named_parameter

如何解决这个问题

flutter flutter-onpressed
1个回答
0
投票

您将 onPressed 传递给一个不接受 onPressed 作为参数的容器,这就是您收到 onPressed 错误的原因。

只有某些小部件接受

onPressed
参数,例如可用于执行按下行为的按钮。同样,如果您想让容器可点击,您可以用 InkWell 包裹它并将函数传递给
onTap
。例如:

InkWell(
  onTap: () {}, // paste your onPressed fn here
  child: Container(
    child: Text("test"),
  ),
)

© www.soinside.com 2019 - 2024. All rights reserved.