Flutter 来自另一个类的颤振调用侦听器
我对flatter(来自Java)和第一个Android应用程序是相当陌生的 在我的项目中,我使用一个不同的类来创建一个可重用的小部件(来自示例),它可以完美地与所有方法一起工作,但我无法找到一种方法来定义和重用方法Flutter 来自另一个类的颤振调用侦听器,flutter,textfield,textformfield,Flutter,Textfield,Textformfield,我对flatter(来自Java)和第一个Android应用程序是相当陌生的 在我的项目中,我使用一个不同的类来创建一个可重用的小部件(来自示例),它可以完美地与所有方法一起工作,但我无法找到一种方法来定义和重用方法onEditingComplete 这是我的密码: class AppTextField extends StatelessWidget { // AppTextField({ this.controller, this.textInputType,
onEditingComplete
这是我的密码:
class AppTextField extends StatelessWidget {
//
AppTextField({
this.controller,
this.textInputType,
this.pwValidator,
this.editingComplete, // this the method that is causing the problem
});
final TextEditingController controller;
final TextInputType textInputType;
final FormFieldValidator pwValidator;
final Listener editingComplete; // This doesn't work. Am I using the wrong listener?
@override
Widget build(BuildContext context) {
return Container(
child: Theme(
data: ThemeData(
primaryColorDark: Colors.blue,
),
child: Padding(
padding: EdgeInsets.fromLTRB(25, 15, 25, 0),
child: TextFormField(
controller: controller,
keyboardType: null == textInputType ? textInputType : textInputType,
validator: null == pwValidator ? pwValidator : pwValidator,
// I am facing problems with this line of code
onEditingComplete: null == editingComplete ? editingComplete : editingComplete,
),
),
),
);
}
}
这是我想要实现和重用小部件的类:
Container(
child: AppTextField(
controller: _controllerPassword,
pwValidator: (value) { },
onEditingComplete: // here is where I am facing difficulties
),
该地产是一家私人公司。这是一个没有参数的函数,不返回任何数据
在AppTextField
中将onEditingComplete
定义为
final VoidCallback onEditingComplete;
然后将其分配给TextFormField的onEditingComplete
属性。另外,去掉三元运算符
onEditingComplete: onEditingComplete
使用小部件时,按如下方式传递回调:
Container(
child: AppTextField(
controller: _controllerPassword,
pwValidator: (value) { },
onEditingComplete: (){
//Do what you want to do here.
}
),
很酷的人,非常感谢。我想这跟回电话有关。感谢您的解释和代码片段。。。谢谢你提出的去掉三元运算符的建议。代码运行平稳,看起来又漂亮又干净。