Flutter 吸气剂';DatabaseHelper';isn';t为类定义'_MyCustomFormState';
DatabaseHelper是一个单例类,通过SQFlite用于字符串数据表 完整错误: 错误:未为类“\u MyCustomFormState”定义获取程序“DatabaseHelper”。 -“_MyCustomFormState”来自“package:textfieldvalidation/main.dart”(“lib/main.dart”)。 尝试将名称更正为现有getter的名称,或定义名为“DatabaseHelper”的getter或字段。 int i=await DatabaseHelper.instance.insert(Flutter 吸气剂';DatabaseHelper';isn';t为类定义'_MyCustomFormState';,flutter,sqflite,Flutter,Sqflite,DatabaseHelper是一个单例类,通过SQFlite用于字符串数据表 完整错误: 错误:未为类“\u MyCustomFormState”定义获取程序“DatabaseHelper”。 -“_MyCustomFormState”来自“package:textfieldvalidation/main.dart”(“lib/main.dart”)。 尝试将名称更正为现有getter的名称,或定义名为“DatabaseHelper”的getter或字段。 int i=await Databas
import'包:textfieldvalization/database_helper.dart';
void main(){
runApp(MyApp());
}
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“表单验证演示”,
主题:主题数据(
主样本:颜色。蓝色,
),
家:脚手架(
appBar:appBar(
标题:文本(“表单验证演示”),
),
正文:MyCustomForm(),
),
);
}
}
//创建表单小部件
类MyCustomForm扩展了StatefulWidget{
@凌驾
_MyCustomFormState createState()=>\u MyCustomFormState();
}
//创建相应的状态类。
//此类保存与表单相关的数据。
类_MyCustomFormState扩展了状态{
//创建唯一标识表单小部件的全局键
//并允许对表单进行验证。
//
//注:
//这是一辆环球车,
//不是一个通俗的人
final _formKey=GlobalKey();
最终控制器=文本编辑控制器();
@凌驾
无效处置(){
controller.dispose();
super.dispose();
}
@凌驾
小部件构建(构建上下文){
//使用上面创建的_formKey构建表单小部件。
报税表(
键:_formKey,
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
TextFormField(
控制器:控制器,
验证器:(值){
if(value.isEmpty){
返回“请输入一些文本”;
}
返回null;
},
),
填充物(
填充:常量边集。对称(垂直:16),
儿童:升降按钮(
onPressed:()异步{
if(_formKey.currentState.validate()){
打印(controller.text);
Scaffold.of(上下文).showSnackBar(
小吃条(
内容:文本(“处理数据”),
),
);
int i=await DatabaseHelper.instance.insert(
{
DatabaseHelper.colName:controller.text,
},
);
打印(“插入的新id为$i”);
}
},
儿童:文本(“提交”),
),
),
],
),
);
}
}
通过添加这行代码解决了问题。
final dbHelper=DatabaseHelper.instance;
初始化控制器后
final controller=TextEditingController();
然后用这行代码替换DatabaseHelper.instance.insert
dbHelper.insert
int i = await DatabaseHelper.instance.insert(
{
DatabaseHelper.colName: controller.text,
},
);
print('New id inserted is $i');
import 'package:textfieldvalidation/database_helper.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Form Validation Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text("Form Validation Demo"),
),
body: MyCustomForm(),
),
);
}
}
//Create a Form Widget
class MyCustomForm extends StatefulWidget {
@override
_MyCustomFormState createState() => _MyCustomFormState();
}
//Create a corrsponding State class.
//This class holds data related to the form.
class _MyCustomFormState extends State<MyCustomForm> {
//Create a global key that uniquely identifies the Form Widget
//and allows validation of the form.
//
//Note:
//This is a GlobalKey<FormState>,
//not a GLobalKey<MyCustomFormState>
final _formKey = GlobalKey<FormState>();
final controller = TextEditingController();
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
//Build a Form widget using the _formKey created above.
return Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextFormField(
controller: controller,
validator: (value) {
if (value.isEmpty) {
return 'Please enter some text.';
}
return null;
},
),
Padding(
padding: const EdgeInsets.symmetric(vertical: 16),
child: ElevatedButton(
onPressed: () async {
if (_formKey.currentState.validate()) {
print(controller.text);
Scaffold.of(context).showSnackBar(
SnackBar(
content: Text('Processing Data'),
),
);
int i = await DatabaseHelper.instance.insert(
{
DatabaseHelper.colName: controller.text,
},
);
print('New id inserted is $i');
}
},
child: Text("Submit"),
),
),
],
),
);
}
}