![](/img/trans.png)
[英]Flutter TextFormField how to add manual onChange property
[英]How to pass flutter textFormField onChange and onSubmitted as a parameter?
我正在嘗試創建一個自定義TextFormField
,它將接受我需要的參數,如labelText
、 controller
或prefixIcon
等。我不知道如何將函數傳遞給OnChange
和onSubmitted
事件。 請檢查下面的示例代碼。
實用工具.dart
class TextFieldTemplate extends StatelessWidget {
final String initialValue;
final String labelText;
final String hintText;
final IconData prefixIcon;
final TextEditingController controller;
final Function onTap;
TextFieldTemplate(
{this.initialValue,
this.labelText,
this.prefixIcon,
this.controller,
});
@override
Widget build(BuildContext context) {
return TextFormField(
onChanged: (){},
onSubmitted: (){},
controller: controller,
decoration: InputDecoration(
contentPadding: decorationPadding,
labelText: labelText,
prefixIcon: prefixIcon != null
? Icon(
prefixIcon,
)
: null,
),
);
}
}
TextFieldTemplate 的用法:
var _personName = TextEditingController();
@override
Widget build(BuildContext context) {
return Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
childtren[
TextFieldTemplate(
labelText: 'Person Name',
controller: _personName,
prefixIcon: Icons.person,
// onSubmitted : ???
// OnChange : ???
),
]
),
);
}
您可以像這樣傳遞onChanged
和onSubmitted
參數
Function(String) onChanged;
Function(String) onSubmitted;
並像這樣使用
TextFieldTemplate(
labelText: 'Person Name',
controller: _personName,
prefixIcon: Icons.person,
onSubmitted: (value){},
onChanged: (value){},
),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.