Dart 通过要在函数中修改的参数传递变量
我有一种方法,可以处理将TextFormField字段的值保存在不同形式的变量中的逻辑,但是当验证形式时,它们不会将值保存在通过参数传递的字符串中 这是其中一种形式的my变量声明:Dart 通过要在函数中修改的参数传递变量,dart,flutter,flutter-layout,dart-pub,flutter-test,Dart,Flutter,Flutter Layout,Dart Pub,Flutter Test,我有一种方法,可以处理将TextFormField字段的值保存在不同形式的变量中的逻辑,但是当验证形式时,它们不会将值保存在通过参数传递的字符串中 这是其中一种形式的my变量声明: final formKeyMotherboard = new GlobalKey<FormState>(); String _numInvMotherboard, _marcaMotherboard, _modeloMotherboard, _tipoMot
final formKeyMotherboard = new GlobalKey<FormState>();
String _numInvMotherboard,
_marcaMotherboard,
_modeloMotherboard,
_tipoMotherboard,
_detallesMotherboard,
_fechaMotherboard;
final TextEditingController controllerNumInventarioMotherboard =
new TextEditingController();
final TextEditingController controllerMarcaMotherboard =
new TextEditingController();
final TextEditingController controllerModeloMotherboard =
new TextEditingController();
final TextEditingController controllerTipoMotherboard =
new TextEditingController();
final TextEditingController controllerDetallesMotherboard =
new TextEditingController();
final TextEditingController controllerFechaMotherboard =
new TextEditingController();
final formKeyMotherboard=new GlobalKey();
字符串_numInvMotherboard,
_马卡莫托尔董事会,
_模型董事会,
_tipoMotherboard,
_detallesMotherboard,
_粪热板;
最终文本编辑控制器控制器手动温度板=
新建TextEditingController();
最终文本编辑控制器控制器主板=
新建TextEditingController();
最终文本编辑控制器控制器模型温度板=
新建TextEditingController();
最终文本编辑控制器控制器控制器主板=
新建TextEditingController();
最终文本编辑控制器控制器详细信息主板=
新建TextEditingController();
最终文本编辑控制器控制器主板=
新建TextEditingController();
方法如下:
Step _defaulFrom(
{@required IconData icon,
@required String nameForm,
@required Key keyForm,
@required String saveNumInv,
@required String saveMarca,
@required String saveModelo,
@required String saveTipo,
@required String saveDetalles,
@required String saveFecha,
@required TextEditingController controllerNumInv,
@required TextEditingController controllerMarca,
@required TextEditingController controllerModelo,
@required TextEditingController controllerTipo,
@required TextEditingController controllerDetalle,
@required TextEditingController controllerFecha,
TextEditingController controllerEncargado,
String saveEncargado}) {
return Step(
title: Text(
nameForm,
style: TextStyle(
color: Colors.black45,
fontSize: 22.0,
fontWeight: FontWeight.bold,
),
),
content: Form(
key: keyForm,
child: Padding(
padding: const EdgeInsets.all(12.0),
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
controller: controllerNumInv,
autocorrect: false,
decoration: _defaulImputDecoration(NUM_INVENTARIO, icon),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
`enter code here`onSaved: (value) => saveNumInv = value,
keyboardType: TextInputType.numberWithOptions(),
),
),
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
controller: controllerMarca,
autocorrect: false,
decoration: _defaulImputDecoration(MARCA, icon),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
onSaved: (value) => saveMarca = value,
),
),
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
controller: controllerModelo,
autocorrect: false,
decoration: _defaulImputDecoration(MODELO, icon),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
onSaved: (value) => saveModelo = value,
),
),
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
controller: controllerTipo,
autocorrect: false,
decoration: _defaulImputDecoration(TIPO, icon),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
onSaved: (value) => saveTipo = value,
),
),
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
controller: controllerDetalle,
autocorrect: false,
decoration: _defaulImputDecoration(DETALLES, icon),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
onSaved: (value) => saveDetalles = value,
),
),
controllerEncargado != null
? Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
controller: controllerEncargado,
autocorrect: false,
decoration: _defaulImputDecoration(
NOMBRE_ENCARGADO, Icons.person),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
onSaved: (value) => saveEncargado = value,
),
)
: Divider(
color: Colors.transparent,
),
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: TextFormField(
autocorrect: false,
controller: controllerFecha,
decoration: InputDecoration(
suffixIcon: IconButton(
icon: Icon(Icons.date_range),
onPressed: () {
_selectDate(context);
setState(() {
//_saveDate = new DateFormat.yMd(_dateTime)
});
}),
contentPadding: EdgeInsets.all(16.0),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
),
labelText: 'Fecha',
labelStyle: TextStyle(
color: Colors.black54,
fontSize: 16.0,
decorationStyle: TextDecorationStyle.wavy),
),
validator: (val) =>
val.isEmpty ? ERROR_RELLENE_CAMPO : null,
onSaved: (value) => saveFecha = value,
),
),
}
})
],
),
)));
}
步骤_defaulFrom(
{@必需的IconData图标,
@必需的字符串名称表单,
@所需的密钥形式,
@必需的字符串saveNumInv,
@必需的字符串saveMarca,
@必需的字符串saveModelo,
@必需的字符串saveTipo,
@必需的字符串saveDetalles,
@必需的字符串saveFecha,
@所需文本编辑控制器控制器LUMINV,
@所需文本编辑控制器控制器RCA,
@所需文本编辑控制器控制器模型,
@所需文本编辑控制器控制器控制器PO,
@所需文本编辑控制器控制器详情,
@所需文本编辑控制器控制器控制器,
TextEditingController控制器ReneCargado,
字符串savencargado}){
返回步骤(
标题:正文(
姓名表,
样式:TextStyle(
颜色:颜色。黑色45,
字体大小:22.0,
fontWeight:fontWeight.bold,
),
),
内容:表格(
关键字:keyForm,
孩子:填充(
填充:常数边集全部(12.0),
子:列(
儿童:[
填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(
控制器:控制器LUMINV,
自动更正:错误,
装饰:_defaulimputdefaction(NUM_INVENTARIO,icon),
验证器:(val)=>
val.isEmpty?错误\u RELLENE\u CAMPO:null,
`在此处输入代码`onSaved:(value)=>saveNumInv=value,
键盘类型:TextInputType.numberWithOptions(),
),
),
填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(
控制员:controllerMarca,
自动更正:错误,
装饰:装饰(玛卡,图标),
验证器:(val)=>
val.isEmpty?错误\u RELLENE\u CAMPO:null,
onSaved:(值)=>saveMarca=value,
),
),
填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(
控制器:控制器模型,
自动更正:错误,
装饰:_defaulImputDecoration(MODELO,icon),
验证器:(val)=>
val.isEmpty?错误\u RELLENE\u CAMPO:null,
onSaved:(值)=>saveModelo=value,
),
),
填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(
控制员:controllerTipo,,
自动更正:错误,
装饰:装饰(TIPO,图标),
验证器:(val)=>
val.isEmpty?错误\u RELLENE\u CAMPO:null,
onSaved:(值)=>saveTipo=value,
),
),
填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(
控制器:控制器细节,
自动更正:错误,
装饰:装饰(细节、图标),
验证器:(val)=>
val.isEmpty?错误\u RELLENE\u CAMPO:null,
onSaved:(值)=>SavedCalles=value,
),
),
controllerEncargado!=null
?填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(
控制员:控制员卡加多,
自动更正:错误,
装饰:_defaulimput装饰(
名为ENCARGADO、图标、人物),
验证器:(val)=>
val.isEmpty?错误\u RELLENE\u CAMPO:null,
onSaved:(值)=>saveEncargado=value,
),
)
:分隔器(
颜色:颜色。透明,
),
填充物(
填充:仅限常量边集(顶部:8.0),
子项:TextFormField(