[英]Flutter - Delegate Textfield in separate Class
我想在Flutter中使用带有文本字段的单独类。 文本字段已经显示并且可以编辑。 如何将变量_eingegebenerWert
传递给创建此类对象的类?
文本字段类的代码:
class eingabeTextbox extends StatelessWidget {
final bool _nummerischeTastatur;
final String _ueberschrift;
final String _platzhalter;
String _eingegebenerWert;
eingabeTextbox(this._nummerischeTastatur, this._ueberschrift, this._platzhalter, this._eingegebenerWert);
@override
Widget build (BuildContext context){
return new TextField(
keyboardType: _nummerischeTastatur == true ? TextInputType.number : TextInputType.multiline,
decoration: new InputDecoration(
labelText: _ueberschrift,
hintText: _platzhalter
),
onChanged: (String str){
_eingegebenerWert = str;
print("neuer Wert:" + _eingegebenerWert);
}
);
}
}
您可以使用typedef ValueChanged
作为参数传递并从另一个类获取值,您正在传递一种方法来接收该值:
class eingabeTextbox extends StatelessWidget {
final bool _nummerischeTastatur;
final String _ueberschrift;
final String _platzhalter;
ValueChanged<String> eingegebenerWert;
eingabeTextbox(this._nummerischeTastatur, this._ueberschrift, this._platzhalter, this.eingegebenerWert);
@override
Widget build (BuildContext context){
return new TextField(
keyboardType: _nummerischeTastatur == true ? TextInputType.number : TextInputType.multiline,
decoration: new InputDecoration(
labelText: _ueberschrift,
hintText: _platzhalter
),
onChanged: eingegebenerWert
);
}
}
来自其他班级的电话
@override
Widget build (BuildContext context){
return new eingabeTextbox(
...
eingegebenerWert: (String str){
print("neuer Wert:" + str);
}
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.