空表单文本已归档

问题描述

我在 Flutter 应用中使用 FormTextField

要更新某个列的值,用户输入 FormTextField,否则将该字段留空。

我尝试了这段代码,但它向列添加一个 null 值,删除了现有值。我对这种行为不满意。

      String _getProd5Name() {
           if ((_prod5Controller.text).isNotEmpty == true) {
              _prod5String = _prod5Controller.text;
            } 
             return _prod5String;
           }

有办法吗?

我发现了类似的问题,但它们与其他语言相关,他们的解决方案不能解决我的问题。

解决方法

String _getProd5Name() {
    // Actually you don't have to make it private
    // since this is a local variable inside a function
    String _prod5String = variableContainingInitialValue;

    if (_prod5Controller.text.isNotEmpty) {
        _prod5String = _prod5Controller.text;
      }
    return _prod5String;
}
,

这是我的建议,因为我喜欢将所有内容都放在 1 行上。您可以根据您的结果期望更改 "" 部分。它与您的逻辑相同,但它更短,而不是返回 null 我让它返回空字符串“”。而且 (_prod5Controller.text).isNotEmpty == true 你可以把它缩短为 (_prod5Controller.text).isNotEmpty 因为 .isNotEmpty 总是返回布尔值 true/false 和 if-else 消耗布尔值

String _getProd5Name() {
   return ((_prod5Controller.text).isNotEmpty) ? _prod5String = _prod5Controller.text : "";
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...