dart - Flutter - 在单独的类中委托文本字段
问题描述
我想在 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);
}
);
}
}
解决方案
您可以使用 typedefValueChanged
作为参数传递并从另一个类获取值,您正在传递一个方法来接收值:
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);
}
);
}
推荐阅读
- uml - UML 类图显示一个使用类的接口,但它是否应该显示使用同一类的具体类
- apache-spark - Pyspark 根据列值生成行
- ocaml - 我必须创建一个带有 2 个参数的函数:一个字符串对列表和一个用于布尔值的字符串函数并返回一个映射
- python - PyQt:多个按钮相同的变量
- string - 如何计算 NASM 中字符串中的字符数?
- python - 我可以从 .bat 文件在 arcpy 中运行 python 脚本吗?
- pdf - 在 PDF 中嵌入声音(音频文件)
- r - r 中的子函数不会替换第一个匹配项
- python - 使用正则表达式python从文本中提取日期
- java - 如何根据运行次数使程序输出不同?