Flutter 错误:没有名为“keyboardType”的命名参数。键盘类型:TextInputType.text

Posted

技术标签:

【中文标题】Flutter 错误:没有名为“keyboardType”的命名参数。键盘类型:TextInputType.text【英文标题】:Flutter Error: No named parameter with the name 'keyboardType'.keyboardType: TextInputType.text 【发布时间】:2021-11-26 11:39:44 【问题描述】:

我是 Flutter 的新手,我想设置一个表单。这是我的代码:

const TextField(
              decoration: InputDecoration(
              labelText: 'Nom',
              hintText: 'Entrez votre nom',
              icon: Icon(
                Icons.person,
                color: Colors.blue,
                size: 25,
              ),
              keyboardType: TextInputType.text,
              autocorrect: true,
              autofocus: true,
            )),
            const TextField(
              decoration: InputDecoration(
              labelText: 'Prenom',
              hintText: 'Entrez votre Prenom',
              icon: Icon(
                Icons.person,
                color: Colors.blue,
                size: 25,
              ),
              keyboardType: TextInputType.text,
            )),
            const TextField(
              decoration: InputDecoration(
              labelText: 'Telephome',
              hintText: 'Entrez votre numero de telephone',
              icon: Icon(
                Icons.phone,
                color: Colors.blue,
                size: 25,
              ),
              keyboardType: TextInputType.number,
            )),
            const TextField(decoration: InputDecoration(
              labelText: 'Mot de passe',
              hintText: 'Entrez votre mot de passe',
              icon: Icon(
                Icons.lock,
                color: Colors.red,
                size: 25,
              ),
              keyboardType: TextInputType.visiblePassword,
              ObscureText: true,
            )),

当我运行时,我看到了这个错误:

lib/main.dart:48:15:错误:没有名为“keyboardType”的命名参数。 键盘类型:TextInputType.text, ^^^^^^^^^^^^^ ../../flutter/packages/flutter/lib/src/material/input_decorator.dart:2522:9:上下文:找到了这个候选人,但参数不匹配。 常量输入装饰( ^^^^^^^^^^^^^^^ lib/main.dart:61:15:错误:没有名为“keyboardType”的命名参数。 键盘类型:TextInputType.text, ^^^^^^^^^^^^^ ../../flutter/packages/flutter/lib/src/material/input_decorator.dart:2522:9:上下文:找到了这个候选人,但参数不匹配。 常量输入装饰( ^^^^^^^^^^^^^^^ lib/main.dart:72:15:错误:没有名为“keyboardType”的命名参数。 键盘类型:TextInputType.number, ^^^^^^^^^^^^^ ../../flutter/packages/flutter/lib/src/material/input_decorator.dart:2522:9:上下文:找到了这个候选人,但参数不匹配。 常量输入装饰( ^^^^^^^^^^^^^^^ lib/main.dart:82:15:错误:没有名为“keyboardType”的命名参数。 键盘类型:TextInputType.visiblePassword, ^^^^^^^^^^^^^ ../../flutter/packages/flutter/lib/src/material/input_decorator.dart:2522:9:上下文:找到了这个候选人,但参数不匹配。 常量输入装饰( ^^^^^^^^^^^^^^^ ../../flutter/.pub-cache/hosted/pub.dartlang.org/pull_to_refresh-1.6.3/lib/src/smart_refresher.dart:273:21:错误:未定义方法“ancestorWidgetOfExactType”对于“BuildContext”类。

“BuildContext”来自“package:flutter/src/widgets/framework.dart”(“../../flutter/packages/flutter/lib/src/widgets/framework.dart”)。 尝试将名称更正为现有方法的名称,或定义名为“ancestorWidgetOfExactType”的方法。 返回上下文?.ancestorWidgetOfExactType(SmartRefresher); ^^^^^^^^^^^^^^^^^^^^^^^^^ ../../flutter/.pub-cache/hosted/pub.dartlang.org/pull_to_refresh-1.6.3/lib/src/smart_refresher.dart:277:41:错误:找不到方法:'TypeMatcher'。 返回上下文?.ancestorStateOfType(TypeMatcher()); ^^^^^^^^^^^^ ../../flutter/.pub-cache/hosted/pub.dartlang.org/pull_to_refresh-1.6.3/lib/src/smart_refresher.dart:277:21:错误:未定义方法“ancestorStateOfType”对于“BuildContext”类。 “BuildContext”来自“package:flutter/src/widgets/framework.dart”(“../../flutter/packages/flutter/lib/src/widgets/framework.dart”)。 尝试将名称更正为现有方法的名称,或定义名为“ancestorStateOfType”的方法。 返回上下文?.ancestorStateOfType(TypeMatcher()); ^^^^^^^^^^^^^^^^^^^ ../../flutter/.pub-cache/hosted/pub.dartlang.org/pull_to_refresh-1.6.3/lib/src/smart_refresher.dart:1003:20:错误:未定义方法“inheritFromWidgetOfExactType”对于“BuildContext”类。 “BuildContext”来自“package:flutter/src/widgets/framework.dart”(“../../flutter/packages/flutter/lib/src/widgets/framework.dart”)。 尝试将名称更正为现有方法的名称,或定义名为“inheritFromWidgetOfExactType”的方法。 返回 context.inheritFromWidgetOfExactType(RefreshConfiguration); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../../flutter/.pub-cache/hosted/pub.dartlang.org/pull_to_refresh-1.6.3/lib/src/internals/indicator_wrap.dart:631:9:错误:“ValueNotifier”类型的值不能分配给“ValueNotifier”类型的变量。 “ValueNotifier”来自“package:flutter/src/foundation/change_notifier.dart”(“../../flutter/packages/flutter/lib/src/foundation/change_notifier.dart”)。 ? refresher.controller.headerMode

请帮帮我

【问题讨论】:

【参考方案1】:

试试下面的代码我认为你的问题已经解决了。参考文本框here

 TextField(
          keyboardType: TextInputType.text,
          autocorrect: true,
          autofocus: true,
          decoration: InputDecoration(
            labelText: 'Nom',
            hintText: 'Entrez votre nom',
            icon: Icon(
              Icons.person,
              color: Colors.blue,
              size: 25,
            ),
          ),
        ),
        TextField(
          keyboardType: TextInputType.text,
          decoration: InputDecoration(
            labelText: 'Prenom',
            hintText: 'Entrez votre Prenom',
            icon: Icon(
              Icons.person,
              color: Colors.blue,
              size: 25,
            ),
          ),
        ),
        TextField(
          keyboardType: TextInputType.number,
          decoration: InputDecoration(
            labelText: 'Telephome',
            hintText: 'Entrez votre numero de telephone',
            icon: Icon(
              Icons.phone,
              color: Colors.blue,
              size: 25,
            ),
          ),
        ),
        TextField(
          keyboardType: TextInputType.visiblePassword,
          obscureText: true,
          decoration: InputDecoration(
            labelText: 'Mot de passe',
            hintText: 'Entrez votre mot de passe',
            icon: Icon(
              Icons.lock,
              color: Colors.red,
              size: 25,
            ),
          ),
        ),

你的结果屏幕喜欢->

【讨论】:

【参考方案2】:
TextFormField(
                          keyboardType: TextInputType.number,
                          controller: stepcontroller,
                          focusNode: _focusNodes[0],
                          decoration: InputDecoration(
                            labelText: "Enter Step",
                            labelStyle: TextStyle(
                              color: _focusNodes[0].hasFocus
                                  ? appcolor
                                  : Colors.grey,
                              // fontSize: 24.0
                            ),
                            focusedBorder: OutlineInputBorder(
                              borderSide: const BorderSide(
                                  color: appcolor, width: 2.0),
                              // borderRadius: BorderRadius.circular(25.0),
                            ),
                            // prefixIcon: Icon(
                            //   Icons.person,
                            //   color: _focusNodes[0].hasFocus
                            //       ? Colors.teal
                            //       : Colors.grey,
                            // ),
                          ),
                          validator: (value) 
                            if (value.isEmpty) 
                              return "   Step  cant be empty";
                             else if (value.length > contactlist.length) 
                              return "step out of range";
                            
                          ,
                        ),

你可以试试这个,它会打开数字键盘

【讨论】:

【参考方案3】:

请参阅此链接以清楚了解 Flutter 中的 textfiled 属性。

https://api.flutter.dev/flutter/material/TextField-class.html

【讨论】:

以上是关于Flutter 错误:没有名为“keyboardType”的命名参数。键盘类型:TextInputType.text的主要内容,如果未能解决你的问题,请参考以下文章

颤振错误找不到名为“平台”的选项

Flutter JSON 该类没有名为“fromJson”的构造函数

在 UI Firebase Auth Flutter 中显示异常错误

Flutter -> UploadTask 方法 OnComplete 不存在

Flutter 抽象类类型异常

Flutter - 错误:没有为“对象”类型定义吸气剂“文档”