微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter 多 TextFields 和简单的语句 o 按钮

如何解决Flutter 多 TextFields 和简单的语句 o 按钮

我想使用 Flutter 制作一个包含 3 个 textField 的应用,如果前两个 textField 中输入的值,则这两个值的总和应该是第三个的输入, &如果输入了 textField 1 & 3 的值,总和值将是 textField2 的值...第三个 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 举报,一经查实,本站将立刻删除。