如何解决Flutter 多 TextFields 和简单的语句 o 按钮
我想使用 Flutter 制作一个包含 3 个 textField
的应用,如果前两个 textField
中输入的值,则这两个值的总和应该是第三个的输入, &如果输入了 textField
1 & 3 的值,总和值将是 textField
2 的值...第三个 textField
的键但是当我重复插入另一个 textField
的另一个键时会发生重复错误... 以前在 Java 中我曾经添加 textWatchers
但是我不知道如何在 Flutter 中做到这一点...我的代码
@override
_TryPageState createState() => _TryPageState();
}
class _TryPageState extends State<TryPage> {
TextEditingController textEditingController = TextEditingController();
var veLocityEditingController = TextEditingController();
var finalValue = TextEditingController();
int airFlow;
int veLocity;
int valueFinal;
String sam,sam2;
String airFlowText,veLocityText,finalText;
String totalCalculated() {
airFlowText = textEditingController.text;
veLocityText = veLocityEditingController.text;
finalText = finalValue.text;
if (airFlowText != '' && veLocityText != '') {
sam = (airFlow + veLocity).toString();
finalValue.value = finalValue.value.copyWith(
text: sam.toString(),);
}
return sam;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.stretch,children: [
TextField(
// key: Key(totalCalculated()),controller: textEditingController,onChanged: (textEditingController) {
setState(() {
airFlow = int.parse(textEditingController.toString());
});
},onTap: () {
setState(() {
textEditingController.clear();
});
},decoration: Inputdecoration(
hintText: 'Enter Value',labelText: 'Air Flow',),keyboardType: TextInputType.number,TextField(
controller: veLocityEditingController,onChanged: (veLocityEditingController) {
setState(() {
veLocity = int.parse(veLocityEditingController.toString());
});
},labelText: 'VeLocity',TextFormField(
key: Key(totalCalculated()),controller: finalValue,onChanged: (finaValue) {
setState(() {
valueFinal = int.parse(finalValue.toString());
});
},labelText: 'Final Value',Text('Entered Value is $airFlow + $veLocity + $valueFinal'),],);
}
}
有人可以帮我吗
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。