命名参数 'onTap' 未定义

The named parameter 'onTap' isn't defined

我目前正在学习 Flutter,我对它还很陌生。在我的应用程序中,我使用响应式网格包并在响应式容器中添加文本。我想在点击此文本时转到另一页,但不好,它给了我这个错误。

The named parameter 'onTap' isn't defined.
Try correcting the name to an existing named parameter's name, or defining a named parameter with the name 'onTap'.

我使用了以下代码:

Widget build(BuildContext context) {
return Scaffold(
  body: SingleChildScrollView(
    child: Container(
      child: ResponsiveGridRow(children: [
        ResponsiveGridCol(
          lg: 12,
          child: Container(
            height: 400,
            alignment: Alignment.center,
            color: Colors.orange,
            child: Column(
              children: [
                Container(
                  margin: EdgeInsets.only(top: 150),
                  alignment: Alignment.center,
                  child: Text("Welcome To",
                     style: TextStyle(
                       fontSize: 40,
                       color: Colors.white)),
                ),
                Container(
                  alignment: Alignment.center,
                  child: Text("our App",
                     style: TextStyle(
                       fontSize: 40,
                       color: Colors.white,
                       fontWeight: FontWeight.bold)),
                ),
              ],
              ),
          ),
        ),
             ResponsiveGridCol(
          xs: 4,
          md: 2,
          child: Container(
              height: 18,
              alignment: Alignment.centerLeft,
              child: Text("Login",
                  style: TextStyle(
                      fontSize: 13,
                      // decoration: TextDecoration.underline,
                      color: Colors.orange[800])),
              onTap: () { // i got error here
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => SignIn()),
                );
              }
              ),
        )
      ]),
    ),
  ),
);

} }

您的小部件没有 onTap 属性 您需要创建如下所示,方法是用 gesture detector 或 InkWell[=13 包装您需要可点击的小部件=]

GestureDetector(
   onTap: () { 
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => SignIn()),
                );
              }
     child:Container(
              height: 18,
              alignment: Alignment.centerLeft,
              child: Text("Login",
                  style: TextStyle(
                      fontSize: 13,
                      // decoration: TextDecoration.underline,
                      color: Colors.orange[800])),
              
              )),

Container 小部件没有 onTap 属性 尝试将其包装在 InkWell 中,如下所示:

InkWell(
    onTap: () {
        Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => SignIn()),
        );
      },
   child: Container(
      height: 18,
      alignment: Alignment.centerLeft,
      child: Text("Login",
          style: TextStyle(
              fontSize: 13,
              // decoration: TextDecoration.underline,
              color: Colors.orange[800])),
    )))